Как привязать все картинки товара на странице категории

Автор denniadolf, 21 октября 2017, 19:43:19

« назад - далее »

denniadolf

Добрый день! Как сделать показ всех картинок товара в категории также как и в карточке товара?

Adik

Модуль Prestashop pictures on product listings показывает картинки в каталоге.


PrestaMan

1. Переопределить контроллер CategoryController.php, добавить в метод  getProduct выбор всех изображений
Product::getProductImages($id_product)
и инициализацию переменных smarty
'sizeImg' => Image::getSize('тип изображения'),
'prodImgs' => ...

2. В product-list.tpl добавить эти переменные
{foreach from=$prodImgs item=prodImg name=prodImgs}
   <img src="{$link->getImageLink($product.link_rewrite, $prodImg.id_image,...

3. В файл стилей добавить новые правила css.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

denniadolf

#3
Цитата: PrestaMan от 22 октября 2017, 11:21:05

Спасибо огромное! Не получается сделать из за Кривизны рук ))) Как это все прописать?
Я так понимаю что вот это: Product::getProductImages($id_product) нужно прописать 
здесь
// The hook was not executed, standard working
        if (!$hook_executed) {
            $this->context->smarty->assign('categoryNameComplement', '');
            $this->nbProducts = $this->category->getProducts(null, null, null, $this->orderBy, $this->orderWay, true);
            $this->pagination((int)$this->nbProducts); // Pagination must be call after "getProducts"
            $this->cat_products = $this->category->getProducts($this->context->language->id, (int)$this->p, (int)$this->n, $this->orderBy, $this>orderWay);
            $this->Product::getProductImages($id_product);


Вот это 'sizeImg' => Image::getSize('тип изображения'),
'prodImgs' => ...

Здесь
$this->context->smarty->assign(array(
            'category'             => $this->category,
            'description_short'    => Tools::truncateString($this->category->description, 350),
            'products'             => (isset($this->cat_products) && $this->cat_products) ? $this->cat_products : null,
            'id_category'          => (int)$this->category->id,
            'id_category_parent'   => (int)$this->category->id_parent,
            'return_category_name' => Tools::safeOutput($this->category->name),
            'path'                 => Tools::getPath($this->category->id),
            'add_prod_display'     => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
            'categorySize'         => Image::getSize(ImageType::getFormatedName('category')),
            'mediumSize'           => Image::getSize(ImageType::getFormatedName('medium')),
            'thumbSceneSize'       => Image::getSize(ImageType::getFormatedName('m_scene')),
            'homeSize'             => Image::getSize(ImageType::getFormatedName('home')),
            'allow_oosp'           => (int)Configuration::get('PS_ORDER_OUT_OF_STOCK'),
            'comparator_max_item'  => (int)Configuration::get('PS_COMPARATOR_MAX_ITEM'),
            'suppliers'            => Supplier::getSuppliers(),
            'body_classes'         => array($this->php_self.'-'.$this->category->id, $this->php_self.'-'.$this->category->link_rewrite),
        ));


И Переменные в  product-list.tpl  куда вставлять?
{foreach from=$prodImgs item=prodImg name=prodImgs}
   <img src="{$link->getImageLink($product.link_rewrite, $prodImg.id_image,...


Adik

Цитата: denniadolf от 22 октября 2017, 18:31:04
Спасибо огромное! Не получается сделать из за Кривизны рук ))) Как это все прописать?
Сделать так как написал PrestaMan сложно, дело не в кривизне рук. Знать нужно очень хорошо php и prestashop
Для вас решение вопроса
Цитата: Adik от 22 октября 2017, 10:59:55
Модуль Prestashop pictures on product listings показывает картинки в каталоге.

denniadolf

#5
Цитата: Adik от 23 октября 2017, 13:31:34
Модуль дорого стоит!

Adik