Как сделать несколько фотографий для одного товара и выводить их в всплывающем окне (tpl-шаблонизатор) — различия между версиями
Gordeev (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 40: | Строка 40: | ||
Global Configuration | Global Configuration | ||
Slideshow Options | Slideshow Options | ||
+ | [[Категория:Модуль Каталог]][[Категория:Верстка в TPL]] |
Текущая версия на 13:27, 5 июня 2013
По умолчанию для объекта каталога предполагается одна фотография. Чтобы сделать их несколько, необходимо в модуле «Шаблоны данных» для нужного типа товара в группе полей «Изображения» добавить дополнительные поля типа «Изображение». Идентификаторы полей назовем, например, photo1, photo2 и т.д. Теперь необходимо в шаблоне вывода объекта каталога (по умолчанию это \tpls\catalog\default.tpl ) указать вывод не одной фотографии, а нескольких. Меняем код шаблона
$FORMS['view_block'] = <<<END %data getProperty(%id%, 'photo', 'catalog_view')% на $FORMS['view_block'] = <<<END %data getProperty(%id%, 'photo1', 'catalog_view')% %data getProperty(%id%, 'photo2', 'catalog_view')% ...
В результате, на странице сайта будет отображаться несколько изображений товара. Теперь необходимо сделать так, чтобы при клике на изображение оно открывалось в полный размер лайтбоксе. Скачиваем архив: http://www.dolem.com/lytebox/ Разархивируем файлы по соответствующим папкам в системе: Скрипт lytebox.js сохраняем в папку "/js" Стиль lytebox.css сохраняем в папку "/css/cms" Копируем изображения в папку images/lightbox
Подключаем js и css в шаблоне дизайна для объектов каталога в теге <head>:
<link rel="stylesheet" href="/css/cms/lytebox.css" type="text/css" media="screen" /> <script type="text/javascript" language="javascript" src="/js/lytebox.js"></script>
В шаблоне tpls/data/catalog_view.tpl меняем строку
%system makeThumbnail(%filepath%, 200, 'auto', 'catalog_view')%
на
<a href="%src%" rel="lytebox[vacation]" title="%title%">%system makeThumbnail(%filepath%, 200, 'auto', 'catalog_view')%</a>
Прописываем в lytebox.css пути изображениям, используемым скриптом, в папку images/lightbox.
Настройки Lytebox производятся в файле lytebox.js, блоки: Global Configuration Slideshow Options