Seofisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Хочу сделать полную копию функции "изображение товара", для своих идей и потребностей. Для полного счастья не хватает немного знаний, поэтому прошу немного ваших советов как это сделать и какие есть нюансы. На сколько я понимаю мне нужно сделать копии всех файлов и кодов, ну и возможно переименовать..... Основной вопрос, это в каких файл задействована функция изображения, подскажите какие файлы ковырять нужно? Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Для версий 1.5.х Сперва делаем SQL-запрос, чтоб добавить в таблицу поле нового изображения товара: ALTER TABLE `oc_product` ADD `moreimage` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci Ваш префикс может отличаться, не забываем об этом. Дальше идем в модель admin/model/catalog/product.php дважды находим такую конструкцию: if (isset($data['image'])) { $this->db->query("UPDATE " . DB_PREFIX . "product SET image = '" . $this->db->escape(html_entity_decode($data['image'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'"); } дважды вставляем после нее: if (isset($data['moreimage'])) { $this->db->query("UPDATE " . DB_PREFIX . "product SET moreimage = '" . $this->db->escape(html_entity_decode($data['moreimage'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'"); } Теперь контроллер admin/controller/catalog/product.php Ищем $this->data['entry_image'] = $this->language->get('entry_image'); За ним добавляем $this->data['entry_moreimage'] = $this->language->get('entry_moreimage'); Ищем if (isset($this->request->post['image'])) { $this->data['image'] = $this->request->post['image']; } elseif (!empty($product_info)) { $this->data['image'] = $product_info['image']; } else { $this->data['image'] = ''; } За ним добавляем if (isset($this->request->post['moreimage'])) { $this->data['moreimage'] = $this->request->post['moreimage']; } elseif (!empty($product_info)) { $this->data['moreimage'] = $product_info['moreimage']; } else { $this->data['moreimage'] = ''; } Ищем if (isset($this->request->post['image']) && file_exists(DIR_IMAGE . $this->request->post['image'])) { $this->data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100); } elseif (!empty($product_info) && $product_info['image'] && file_exists(DIR_IMAGE . $product_info['image'])) { $this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], 100, 100); } else { $this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', 100, 100); $this->data['image'] = 'no_image.jpg'; } За ним добавляем if (isset($this->request->post['moreimage']) && file_exists(DIR_IMAGE . $this->request->post['moreimage'])) { $this->data['morethumb'] = $this->model_tool_image->resize($this->request->post['moreimage'], 100, 100); } elseif (!empty($product_info) && $product_info['moreimage'] && file_exists(DIR_IMAGE . $product_info['moreimage'])) { $this->data['morethumb'] = $this->model_tool_image->resize($product_info['moreimage'], 100, 100); } else { $this->data['morethumb'] = $this->model_tool_image->resize('no_image.jpg', 100, 100); $this->data['moreimage'] = 'no_image.jpg'; } Теперь шаблон admin/view/template/product_form.tpl Ищем <tr> <td><?php echo $entry_image; ?></td> <td><div class="image"><img src="<?php echo $thumb; ?>" alt="" id="thumb" /><br /> <input type="hidden" name="image" value="<?php echo $image; ?>" id="image" /> <a onclick="image_upload('image', 'thumb');"><?php echo $text_browse; ?></a> | <a onclick="$('#thumb').attr('src', '<?php echo $no_image; ?>'); $('#image').attr('value', 'no_image.jpg');"><?php echo $text_clear; ?></a></div></td> </tr> За ним добавляем <tr> <td><?php echo $entry_moreimage; ?></td> <td><div class="image"><img src="<?php echo $morethumb; ?>" alt="" id="morethumb" /><br /> <input type="hidden" name="moreimage" value="<?php echo $moreimage; ?>" id="moreimage" /> <a onclick="image_upload('moreimage', 'morethumb');"><?php echo $text_browse; ?></a> | <a onclick="$('#thumb').attr('src', '<?php echo $no_image; ?>'); $('#moreimage').attr('value', 'no_image.jpg');"><?php echo $text_clear; ?></a></div></td> </tr> Ну и в языке не помешает admin/language/russian/catalog/product.php Ищем $_['entry_image'] = 'Изображение товара:'; За ним добавляем $_['entry_moreimage'] = 'Еще одно изображение товара:'; Вуаля! Теперь у нас есть доп. изображение для товара. На витрине вывод аналогичен. Получаем переменную - передаем в шаблон. Где там ваши идеи и потребности нужно организовать. Как-то так. 1 Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Благодарю за такую подробную инструкцию!Сейчас возьмусь за реализацию Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Спасибо еще раз, все получилось! Я сделал возможность задавать самостоятельно мини картинки 170х170 которые выводятся в категориях... Если кому такое решение понадобится, тогда, тогда смотрите ниже, уже продолжение от меня. Файл catalog/model/catalog/product.php в нем ищем 'image' => $query->row['image'], и ниже добавляем 'moreimage' => $query->row['moreimage'], Далее файл контролера catalog/controller/product/category.php находим if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); $imagewidth = $this->config->get('config_image_product_width'); $imageheight = $this->config->get('config_image_product_height'); } else { $image = false; $imagewidth = ''; $imageheight = ''; } Ниже добавляем код if ($result['moreimage']) { $moreimage = $this->model_tool_image->resize($result['moreimage'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); $imagewidth = $this->config->get('config_image_product_width'); $imageheight = $this->config->get('config_image_product_height'); } else { $moreimage = false; $imagewidth = ''; $imageheight = ''; } Ищем 'thumb' => $image, Ниже добавляем 'morethumb' => $moreimage, Теперь идем к файлу шаблона для вывода в категории catalog/view/theme/*/template/product/category.tpl Находим <?php if ($product['thumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> Заменяем на этот <?php if ($product['morethumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['morethumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> Ну, вот и все, теперь в категориях можно выводить нужные миниатьюры самостоятельно. 1 Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Вот это дело, я понимаю. Предлагаю пойти дальше, и для этих доп.картинок размеры в админке в settings проставлять. Вообще прекрасно будет =) З.Ы. и в шаблоне все-же лучше условие ставить на пустую доп.картинку. Нет ее - выводим основное изображение. Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Всё хотел себе такое же замутить с эскизами для категорий, но руки не доходили. Пощупаемся этот вариантик на предстоящих выходных. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Если с решением по поводу пустой картинки если основной нет все понятно, то вот на счет задания размера из админки, тут дело немного посложнее будет....(( Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Не так уж и сложно. Обратим внимание на следующий код: $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); вот эти данные config_image_product_width; config_image_product_height Задаются в admin/controller/setting/setting.php Это контроллер - остальное аналогично. Модель, шаблон, язык. Просто добавим дополнительные поля в Админка -> Система -> Настройки -> Изображения. Ну и в базу два поля для размеров добавить. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Так ааа........ :-) там уже есть эта настройка, задается размер из настроек "Размер изображения в списке товаров:" хотя я уже и сообразил как это сделать, разве что с полями в базе мне сложнее Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Еще одно изображение товара, нужна ваша помощь Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Для версий 1.5.х Сперва делаем SQL-запрос, чтоб добавить в таблицу поле нового изображения товара: ALTER TABLE `oc_product` ADD `moreimage` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci Ваш префикс может отличаться, не забываем об этом. Дальше идем в модель admin/model/catalog/product.php дважды находим такую конструкцию: if (isset($data['image'])) { $this->db->query("UPDATE " . DB_PREFIX . "product SET image = '" . $this->db->escape(html_entity_decode($data['image'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'"); } дважды вставляем после нее: if (isset($data['moreimage'])) { $this->db->query("UPDATE " . DB_PREFIX . "product SET moreimage = '" . $this->db->escape(html_entity_decode($data['moreimage'], ENT_QUOTES, 'UTF-8')) . "' WHERE product_id = '" . (int)$product_id . "'"); } Теперь контроллер admin/controller/catalog/product.php Ищем $this->data['entry_image'] = $this->language->get('entry_image'); За ним добавляем $this->data['entry_moreimage'] = $this->language->get('entry_moreimage'); Ищем if (isset($this->request->post['image'])) { $this->data['image'] = $this->request->post['image']; } elseif (!empty($product_info)) { $this->data['image'] = $product_info['image']; } else { $this->data['image'] = ''; } За ним добавляем if (isset($this->request->post['moreimage'])) { $this->data['moreimage'] = $this->request->post['moreimage']; } elseif (!empty($product_info)) { $this->data['moreimage'] = $product_info['moreimage']; } else { $this->data['moreimage'] = ''; } Ищем if (isset($this->request->post['image']) && file_exists(DIR_IMAGE . $this->request->post['image'])) { $this->data['thumb'] = $this->model_tool_image->resize($this->request->post['image'], 100, 100); } elseif (!empty($product_info) && $product_info['image'] && file_exists(DIR_IMAGE . $product_info['image'])) { $this->data['thumb'] = $this->model_tool_image->resize($product_info['image'], 100, 100); } else { $this->data['thumb'] = $this->model_tool_image->resize('no_image.jpg', 100, 100); $this->data['image'] = 'no_image.jpg'; } За ним добавляем if (isset($this->request->post['moreimage']) && file_exists(DIR_IMAGE . $this->request->post['moreimage'])) { $this->data['morethumb'] = $this->model_tool_image->resize($this->request->post['moreimage'], 100, 100); } elseif (!empty($product_info) && $product_info['moreimage'] && file_exists(DIR_IMAGE . $product_info['moreimage'])) { $this->data['morethumb'] = $this->model_tool_image->resize($product_info['moreimage'], 100, 100); } else { $this->data['morethumb'] = $this->model_tool_image->resize('no_image.jpg', 100, 100); $this->data['moreimage'] = 'no_image.jpg'; } Теперь шаблон admin/view/template/product_form.tpl Ищем <tr> <td><?php echo $entry_image; ?></td> <td><div class="image"><img src="<?php echo $thumb; ?>" alt="" id="thumb" /><br /> <input type="hidden" name="image" value="<?php echo $image; ?>" id="image" /> <a onclick="image_upload('image', 'thumb');"><?php echo $text_browse; ?></a> | <a onclick="$('#thumb').attr('src', '<?php echo $no_image; ?>'); $('#image').attr('value', 'no_image.jpg');"><?php echo $text_clear; ?></a></div></td> </tr> За ним добавляем <tr> <td><?php echo $entry_moreimage; ?></td> <td><div class="image"><img src="<?php echo $morethumb; ?>" alt="" id="morethumb" /><br /> <input type="hidden" name="moreimage" value="<?php echo $moreimage; ?>" id="moreimage" /> <a onclick="image_upload('moreimage', 'morethumb');"><?php echo $text_browse; ?></a> | <a onclick="$('#thumb').attr('src', '<?php echo $no_image; ?>'); $('#moreimage').attr('value', 'no_image.jpg');"><?php echo $text_clear; ?></a></div></td> </tr> Ну и в языке не помешает admin/language/russian/catalog/product.php Ищем $_['entry_image'] = 'Изображение товара:'; За ним добавляем $_['entry_moreimage'] = 'Еще одно изображение товара:'; Вуаля! Теперь у нас есть доп. изображение для товара. На витрине вывод аналогичен. Получаем переменную - передаем в шаблон. Где там ваши идеи и потребности нужно организовать. Как-то так. 1 Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Благодарю за такую подробную инструкцию!Сейчас возьмусь за реализацию Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Спасибо еще раз, все получилось! Я сделал возможность задавать самостоятельно мини картинки 170х170 которые выводятся в категориях... Если кому такое решение понадобится, тогда, тогда смотрите ниже, уже продолжение от меня. Файл catalog/model/catalog/product.php в нем ищем 'image' => $query->row['image'], и ниже добавляем 'moreimage' => $query->row['moreimage'], Далее файл контролера catalog/controller/product/category.php находим if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); $imagewidth = $this->config->get('config_image_product_width'); $imageheight = $this->config->get('config_image_product_height'); } else { $image = false; $imagewidth = ''; $imageheight = ''; } Ниже добавляем код if ($result['moreimage']) { $moreimage = $this->model_tool_image->resize($result['moreimage'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); $imagewidth = $this->config->get('config_image_product_width'); $imageheight = $this->config->get('config_image_product_height'); } else { $moreimage = false; $imagewidth = ''; $imageheight = ''; } Ищем 'thumb' => $image, Ниже добавляем 'morethumb' => $moreimage, Теперь идем к файлу шаблона для вывода в категории catalog/view/theme/*/template/product/category.tpl Находим <?php if ($product['thumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> Заменяем на этот <?php if ($product['morethumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['morethumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> Ну, вот и все, теперь в категориях можно выводить нужные миниатьюры самостоятельно. 1 Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Вот это дело, я понимаю. Предлагаю пойти дальше, и для этих доп.картинок размеры в админке в settings проставлять. Вообще прекрасно будет =) З.Ы. и в шаблоне все-же лучше условие ставить на пустую доп.картинку. Нет ее - выводим основное изображение. Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Всё хотел себе такое же замутить с эскизами для категорий, но руки не доходили. Пощупаемся этот вариантик на предстоящих выходных. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Если с решением по поводу пустой картинки если основной нет все понятно, то вот на счет задания размера из админки, тут дело немного посложнее будет....(( Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Не так уж и сложно. Обратим внимание на следующий код: $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); вот эти данные config_image_product_width; config_image_product_height Задаются в admin/controller/setting/setting.php Это контроллер - остальное аналогично. Модель, шаблон, язык. Просто добавим дополнительные поля в Админка -> Система -> Настройки -> Изображения. Ну и в базу два поля для размеров добавить. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Так ааа........ :-) там уже есть эта настройка, задается размер из настроек "Размер изображения в списке товаров:" хотя я уже и сообразил как это сделать, разве что с полями в базе мне сложнее Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Еще одно изображение товара, нужна ваша помощь Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Благодарю за такую подробную инструкцию!Сейчас возьмусь за реализацию Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Спасибо еще раз, все получилось! Я сделал возможность задавать самостоятельно мини картинки 170х170 которые выводятся в категориях... Если кому такое решение понадобится, тогда, тогда смотрите ниже, уже продолжение от меня. Файл catalog/model/catalog/product.php в нем ищем 'image' => $query->row['image'], и ниже добавляем 'moreimage' => $query->row['moreimage'], Далее файл контролера catalog/controller/product/category.php находим if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); $imagewidth = $this->config->get('config_image_product_width'); $imageheight = $this->config->get('config_image_product_height'); } else { $image = false; $imagewidth = ''; $imageheight = ''; } Ниже добавляем код if ($result['moreimage']) { $moreimage = $this->model_tool_image->resize($result['moreimage'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); $imagewidth = $this->config->get('config_image_product_width'); $imageheight = $this->config->get('config_image_product_height'); } else { $moreimage = false; $imagewidth = ''; $imageheight = ''; } Ищем 'thumb' => $image, Ниже добавляем 'morethumb' => $moreimage, Теперь идем к файлу шаблона для вывода в категории catalog/view/theme/*/template/product/category.tpl Находим <?php if ($product['thumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> Заменяем на этот <?php if ($product['morethumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['morethumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> Ну, вот и все, теперь в категориях можно выводить нужные миниатьюры самостоятельно. 1 Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Вот это дело, я понимаю. Предлагаю пойти дальше, и для этих доп.картинок размеры в админке в settings проставлять. Вообще прекрасно будет =) З.Ы. и в шаблоне все-же лучше условие ставить на пустую доп.картинку. Нет ее - выводим основное изображение. Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Всё хотел себе такое же замутить с эскизами для категорий, но руки не доходили. Пощупаемся этот вариантик на предстоящих выходных. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Если с решением по поводу пустой картинки если основной нет все понятно, то вот на счет задания размера из админки, тут дело немного посложнее будет....(( Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Не так уж и сложно. Обратим внимание на следующий код: $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); вот эти данные config_image_product_width; config_image_product_height Задаются в admin/controller/setting/setting.php Это контроллер - остальное аналогично. Модель, шаблон, язык. Просто добавим дополнительные поля в Админка -> Система -> Настройки -> Изображения. Ну и в базу два поля для размеров добавить. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Так ааа........ :-) там уже есть эта настройка, задается размер из настроек "Размер изображения в списке товаров:" хотя я уже и сообразил как это сделать, разве что с полями в базе мне сложнее Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Еще одно изображение товара, нужна ваша помощь Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Спасибо еще раз, все получилось! Я сделал возможность задавать самостоятельно мини картинки 170х170 которые выводятся в категориях... Если кому такое решение понадобится, тогда, тогда смотрите ниже, уже продолжение от меня. Файл catalog/model/catalog/product.php в нем ищем 'image' => $query->row['image'], и ниже добавляем 'moreimage' => $query->row['moreimage'], Далее файл контролера catalog/controller/product/category.php находим if ($result['image']) { $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); $imagewidth = $this->config->get('config_image_product_width'); $imageheight = $this->config->get('config_image_product_height'); } else { $image = false; $imagewidth = ''; $imageheight = ''; } Ниже добавляем код if ($result['moreimage']) { $moreimage = $this->model_tool_image->resize($result['moreimage'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); $imagewidth = $this->config->get('config_image_product_width'); $imageheight = $this->config->get('config_image_product_height'); } else { $moreimage = false; $imagewidth = ''; $imageheight = ''; } Ищем 'thumb' => $image, Ниже добавляем 'morethumb' => $moreimage, Теперь идем к файлу шаблона для вывода в категории catalog/view/theme/*/template/product/category.tpl Находим <?php if ($product['thumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> Заменяем на этот <?php if ($product['morethumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['morethumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> Ну, вот и все, теперь в категориях можно выводить нужные миниатьюры самостоятельно. 1 Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Вот это дело, я понимаю. Предлагаю пойти дальше, и для этих доп.картинок размеры в админке в settings проставлять. Вообще прекрасно будет =) З.Ы. и в шаблоне все-же лучше условие ставить на пустую доп.картинку. Нет ее - выводим основное изображение. Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Всё хотел себе такое же замутить с эскизами для категорий, но руки не доходили. Пощупаемся этот вариантик на предстоящих выходных. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Если с решением по поводу пустой картинки если основной нет все понятно, то вот на счет задания размера из админки, тут дело немного посложнее будет....(( Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Не так уж и сложно. Обратим внимание на следующий код: $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); вот эти данные config_image_product_width; config_image_product_height Задаются в admin/controller/setting/setting.php Это контроллер - остальное аналогично. Модель, шаблон, язык. Просто добавим дополнительные поля в Админка -> Система -> Настройки -> Изображения. Ну и в базу два поля для размеров добавить. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Так ааа........ :-) там уже есть эта настройка, задается размер из настроек "Размер изображения в списке товаров:" хотя я уже и сообразил как это сделать, разве что с полями в базе мне сложнее Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Еще одно изображение товара, нужна ваша помощь Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000 × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Вот это дело, я понимаю. Предлагаю пойти дальше, и для этих доп.картинок размеры в админке в settings проставлять. Вообще прекрасно будет =) З.Ы. и в шаблоне все-же лучше условие ставить на пустую доп.картинку. Нет ее - выводим основное изображение. Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Всё хотел себе такое же замутить с эскизами для категорий, но руки не доходили. Пощупаемся этот вариантик на предстоящих выходных. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Если с решением по поводу пустой картинки если основной нет все понятно, то вот на счет задания размера из админки, тут дело немного посложнее будет....(( Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Не так уж и сложно. Обратим внимание на следующий код: $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); вот эти данные config_image_product_width; config_image_product_height Задаются в admin/controller/setting/setting.php Это контроллер - остальное аналогично. Модель, шаблон, язык. Просто добавим дополнительные поля в Админка -> Система -> Настройки -> Изображения. Ну и в базу два поля для размеров добавить. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Так ааа........ :-) там уже есть эта настройка, задается размер из настроек "Размер изображения в списке товаров:" хотя я уже и сообразил как это сделать, разве что с полями в базе мне сложнее Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Еще одно изображение товара, нужна ваша помощь Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut Вибір категорій і виробників для "Знайшли дешевше" шаблону Upstore Автор: Flint2000
fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Всё хотел себе такое же замутить с эскизами для категорий, но руки не доходили. Пощупаемся этот вариантик на предстоящих выходных. Надіслати Поділитися на інших сайтах More sharing options...
Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Если с решением по поводу пустой картинки если основной нет все понятно, то вот на счет задания размера из админки, тут дело немного посложнее будет....(( Надіслати Поділитися на інших сайтах More sharing options... AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Не так уж и сложно. Обратим внимание на следующий код: $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); вот эти данные config_image_product_width; config_image_product_height Задаются в admin/controller/setting/setting.php Это контроллер - остальное аналогично. Модель, шаблон, язык. Просто добавим дополнительные поля в Админка -> Система -> Настройки -> Изображения. Ну и в базу два поля для размеров добавить. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Так ааа........ :-) там уже есть эта настройка, задается размер из настроек "Размер изображения в списке товаров:" хотя я уже и сообразил как это сделать, разве что с полями в базе мне сложнее Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Підтримка та відповіді на запитання. Допомога програмістам та розробникам [Решено] Еще одно изображение товара, нужна ваша помощь
AlexFisher Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Не так уж и сложно. Обратим внимание на следующий код: $image = $this->model_tool_image->resize($result['image'], $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height')); вот эти данные config_image_product_width; config_image_product_height Задаются в admin/controller/setting/setting.php Это контроллер - остальное аналогично. Модель, шаблон, язык. Просто добавим дополнительные поля в Админка -> Система -> Настройки -> Изображения. Ну и в базу два поля для размеров добавить. Надіслати Поділитися на інших сайтах More sharing options... Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Так ааа........ :-) там уже есть эта настройка, задается размер из настроек "Размер изображения в списке товаров:" хотя я уже и сообразил как это сделать, разве что с полями в базе мне сложнее Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
Seofisher Опубліковано: 6 лютого 2015 Автор Share Опубліковано: 6 лютого 2015 Так ааа........ :-) там уже есть эта настройка, задается размер из настроек "Размер изображения в списке товаров:" хотя я уже и сообразил как это сделать, разве что с полями в базе мне сложнее Надіслати Поділитися на інших сайтах More sharing options... fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
fijneman Опубліковано: 6 лютого 2015 Share Опубліковано: 6 лютого 2015 Пытался избавиться от ресайза для готовых эскизов (вырезав вызов $this->model_tool_image->resize), оно таким макаром выдает некорректный путь до картинки типа scr=data/product_icon_1.png. Помню где-то тут проскакивала темка с отключением ресайза. Будем искать. Вроде победил через $image_thumb = '/image/'. $result['image_thumb']; Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts