Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Как в категории выводить дополнительные изображения?


Recommended Posts

Подскажите пожалуйста как на Opencart 2.x можно вывести дополнительную картинку?

Сейчас в категории каждый товар с одной картинкой, а как сделать, чтобы было две?

 

Версия ocStore 2.1.0.2.1

 

Нашел в сети такое:

 

[РЕШЕНО]

 

/catalog/controller/product/category.php

 

после строк

$results = $this->model_catalog_product->getProducts($filter_data);
foreach ($results as $result) {

вставляем следующее

$results_img = $this->model_catalog_product->getProductImages($result['product_id']);
$dop_img = array();
foreach ($results_img as $result_img) {
	if ($result_img['image']) {
		$image_dop = $this->model_tool_image->resize($result_img['image'], 50, 50);
	} else {
		$image_dop = false;
	}
	$dop_img[] = $image_dop;
}

В этом же файле, после:

$data['products'][] = array(
'product_id'  => $result['product_id'],

Вставляем

'dop_img' => $dop_img,

/catalog/view/theme/default/template/product/category.tpl

 

Находим

<?php foreach ($products as $product) { ?>

И под этой строчкой, где надо вставляем

<div class="dop_img">
	<?php foreach ($product['dop_img'] as $img) { ?>
		<img src="<?php echo $img;?>">
	<?php } ?>
</div>

Когда все это проделываю, то ошибок никаких не возникает. Исходный код показывает пустой див, где должен быть <img ... />

Посмотрите пожалуйста, в чем тут ошибка, почему не работает?

 

==========================================================

Вот я тупень. ))) Все оказывается работает. Выводился пустой тег, потому что дополнительного изображения для товаров у меня не было задано. Добавил дополнительное изображение и оно стало показываться в категориях.

Змінено користувачем alinalessioYandex
  • +1 1
Надіслати
Поділитися на інших сайтах


  • 1 year later...

У меня наоборот задача убрать прогрузку дополнительных изображений товаров в категориях и подкатегориях.

Только у меня код совсем другой. шаблон модерн:

 

$results = $this->model_catalog_product->getProducts($filter_data);

            foreach ($results as $result) {
                if ($result['image']) {
                    $image = $this->model_tool_image->resize($result['image'], $this->config->get($this->config->get('config_theme') . '_image_product_width'), $this->config->get($this->config->get('config_theme') . '_image_product_height'));
                } else {
                    $image = $this->model_tool_image->resize('placeholder.png', $this->config->get($this->config->get('config_theme') . '_image_product_width'), $this->config->get($this->config->get('config_theme') . '_image_product_height'));
                }

                if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
                    $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                } else {
                    $price = false;
                }

                if ((float)$result['special']) {
                    $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
                } else {
                    $special = false;
                }

                if ($this->config->get('config_tax')) {
                    $tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price'], $this->session->data['currency']);
                } else {
                    $tax = false;
                }

                if ($this->config->get('config_review_status')) {
                    $rating = (int)$result['rating'];
                } else {
                    $rating = false;
                }

                $data['products'][] = array(
                    'product_id'  => $result['product_id'],
                    'thumb'       => $image,
                    'name'        => $result['name'],
                    'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
                    'price'       => $price,
                    'special'     => $special,
                    'tax'         => $tax,
                    'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
                    'rating'      => $result['rating'],
                    'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
                );
            }

Надіслати
Поділитися на інших сайтах


  • 11 months later...

Может кому-то это будет полезно - есть готовое платное решение для 2.3 и 3.0

Выводит доп. изображения на всех страницах сайта и в модулях при наведении курсора мыши.

Работает на телефонах и планшетах.

Пример:

additional-hover-image-3product.gif.b75e309ede7092032bf139db7f8dd77d.gif

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.