Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


 Поделиться

Рекомендованные сообщения

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

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

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

Ковырял 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"

Ссылка на комментарий
Поделиться на других сайтах

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

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

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

Ссылка на комментарий
Поделиться на других сайтах

Спасибо за поддержку )))

http://www.mnogosnov.ru/podushki

вот здесь это уже внедрено.

Проверяю Firebug - классы остаются на месте.

Ссылка на комментарий
Поделиться на других сайтах


Спасибо! 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 недели спустя...
  • 3 месяца спустя...
  • 8 месяцев спустя...
  • 5 месяцев спустя...

А как добавить на миниатюру слово "Увеличить"? Ведь человеку не понятно, что кликнув на картинку - картинка увеличится.

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.