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

[РЕШЕНО] В категории при нажатии на картинку - увеличение картинки


Recommended Posts

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

Прошу помощи.

Нужно в категории при нажатии на саму картинку (не имя товара) сделать увеличение картинки, как это происходит в карточке товара.

Ковырял 2 файла: шаблон catalog.php и модель catalog.php

Смотрел, как это реализовано в product.php

Но там массивы, с которыми у меня не лады.

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


Само собой - их я тоже сравнивал.

Прошу помочь с массивом - не совсем понял, как реализован popup в продукте ((

Сам сделал:

редактируем всего 2 файла.

catalogcontrollerproductcategory.tpl

catalogviewthemedefaulttemplateproductcategory.php

catalogcontrollerproductcategory.tpl:

<?php if ($product['thumb']) { ?>
	  <div class="image" ><a href="<?php echo $product['image_popup']; ?>" title="<?php echo $product['name']; ?>" class="fancybox" rel="fancybox"> <img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>"  alt="<?php echo $product['name']; ?>" /></a></div>
	  <?php } ?>

Добавляем строки $('.fancybox').fancybox({cyclic: true});

$('.display').html('<b><?php echo $text_display; ?></b> <?php echo $text_list; ?> <b>/</b> <a onclick="display('grid');"><?php echo $text_grid; ?></a>');
  $('.fancybox').fancybox({cyclic: true});

и

$('.display').html('<b><?php echo $text_display; ?></b> <a onclick="display('list');"><?php echo $text_list; ?></a> <b>/</b> <?php echo $text_grid; ?>');
  $('.fancybox').fancybox({cyclic: true});

catalogcontrollerproductcategory.php:

Находим $this->data['products'][] = array

Примерно 204 строка

Добавляем

'image_popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height'))

$this->data['products'][] = array(
'product_id'  => $result['product_id'],
'thumb'	   => $image,
'name'		=> $result['name'],
'description' => mb_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 300,'UTF-8') . '..',
'price'	   => $price,
'special'	 => $special,
'tax'		 => $tax,
'rating'	  => $result['rating'],
'reviews'	 => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
'href'		=> $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id']),

'image_popup' => $this->model_tool_image->resize($result['image'], $this->config->get('config_image_popup_width'), $this->config->get('config_image_popup_height'))
);
Надіслати
Поділитися на інших сайтах


Есть свой минус в таком решении:

при переключении между витриной и списком при нажатии на картинку открывается картинка по ссылке.

Скрипт не подхватывается, пока не обновится страница.

Если у кого-то есть решения этого косяка - прошу ответить.

Решение вверху.

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


посмотрите на ссылку на изображение... возможно после переключения пропадает у ссылки класс class="fancybox"

это полбеды..

при переключении сетка/список фактически удаляется каждый element <a class="fancybox" и создается такой же, но другой =)

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

Спасибо! catalogcontrollerproductcategory.tpl:

$('.display').html('<b><?php echo $text_display; ?></b> <?php echo $text_list; ?> <b>/</b> <a onclick="display('grid');"><?php echo $text_grid; ?></a>');
  $('.fancybox').fancybox({cyclic: true});

и

$('.display').html('<b><?php echo $text_display; ?></b> <a onclick="display('list');"><?php echo $text_list; ?></a> <b>/</b> <?php echo $text_grid; ?>');
  $('.fancybox').fancybox({cyclic: true});

Тогда внизу скрипт можно удалить

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


  • 2 weeks later...
  • 3 months later...
  • 8 months later...
  • 5 months later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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