VirtueMart – интернет-магазин на Joomla. Часть 20. Редактирование шаблона VirtueMart (Продолжение).
Эта статья является продолжением статьи VirtueMart – интернет-магазин на Joomla. Часть 19. Редактирование шаблона VirtueMart (Начало). В ней я расскажу о назначении файлов шаблона VirtueMart в двух из оставшихся четырех папок: common и product_details. Данная информация пригодится всем тем, кому требуется изменить внешний вид интернет-магазина, сделанного на VirtueMart, настроив его под себя.
Итак, в предыдущей статье мы рассмотрели шаблоны корзины, страницы списка товаров и оформления заказа VirtueMart. Далее остаются шаблоны fly-страницы товара, e-mail-сообщения и некоторых других мест интернет-магазина. Начнем рассмотрение с fly-страницы товара, т.к. все дальнейшее описание будет строиться именно на ней.
Редактирование шаблона VirtueMart. Подпапка product_details.
Папка product_details содержит шаблоны возможных вариантов страницы товара и дополнительных включений в нее.
Шаблоны страницы:
1) flypage.tpl.php – стандартный шаблон страницы товара. Выглядит, как показано на рисунке:
Данный шаблон задается в настройках VirtueMart и в настройках категории товаров. В этом шаблоне редактируется положение всех общих элементов, но не сами элементы.
2) flypage_images.tpl.php – шаблон, предназначенный для отображения страницы товара с дополнительными изображениями. Кстати сказать, дополнительные изображения добавляются не в настройках товара, а при клике в списке товаров по ссылке в столбце «Медиа».
3) flypage_lite_pdf.tpl.php – данный шаблон предназначен для удобного конвертирования в PDF. Он не показывает некоторые элементы интернет-магазина, например, кнопку добавления в корзину, и должен использоваться когда VirtueMart работает только как каталог.
4) flypage_new.tpl.php – просто другой вид страницы. См. рисунок:
5) flypage-ask.tpl.php – просто другой вид страницы. См. рисунок:
6) garden_flypage.tpl.php – изображение справа. См. рисунок:
Хочу заметить, что данные шаблоны первоначально выглядят ужасно и требуют редактирования кода, для создания приятного глазу вида страницы товара. Для редактирования требуются знания html и CSS. Знание PHP здесь не критично.
Примечание
1) Вы смотрите страницу товара в браузере
2) Изменяете шаблон страницы товара в настройках категории
3) Обновляете страницу браузера
4) Видите все тот же старый шаблон.
В чем дело?
Дело в том, что шаблон задается в ссылке на страницу товара. При изменении шаблона в настройках магазина вид ссылки на страницу товара из категории изменяется, т.о. при переходе из категории, мы увидим новый шаблон, но при обновлении страницы ссылка не изменяется, потому видим старый. Будьте внимательны!
Таковы стандартные шаблоны страницы товара VirtueMart. Из качество оставляет желать лучшего, но в целом, они содержат в себе все необходимое для тонкой настройки.
В папке product_details имеется еще подпапка includes. Рассмотрим содержащиеся в ней файлы:
1) addtocart_advanced_attribute.tpl.php – шаблон отображения свойств и атрибутов товара на странице товара VirtueMart
2) addtocart_custom_attribute.tpl.php – шаблон отображения свойств, которые вводятся вручную. См. рисунок:
3) addtocart_drop.tpl.php – отвечает за выпадающий список атрибутов и свойств. Особо тут редактировать нечего.
4) addtocart_form.tpl.php – собственно, форма добавления товара в корзину. См. рисунок
5) addtocart_list_multi.tpl.php – с этим файлом вообще долгая история. Он отвечает за форму добавления товара в корзину, но применимо:
1) к дочерним товарам (я про это).
2) при отображении кнопки добавления сразу для всех дочерних товаров (включается в Товар –> Показать опции –> Установить «Использовать список "бокс" для зависимых товаров» – > Выбрать «Кнопка "Добавить в корзину" для каждого зависимого товара»). Такая вот мутотень. Вообще говоря, эта опция только для очень искушенных пользователей т.к.:
а) типы товаров уже сами по себе очень сложны для понимания
б) настройки, описанные мной выше нельзя применить сразу ко всем товарам, можно только к каждому отдельно. Конечно, есть SQL-запросы, но все это для продвинутых Web-мастеров.
6) addtocart_list_single.tpl.php – тоже самое, что и addtocart_list_multi.tpl.php, но: ….. «Одна кнопка "Добавить в корзину"».
Чтобы было более понятно как добиться такого отображения привожу рисунок с настройками:
7) quantity_box_general.tpl.php – шаблон формы ввода количества товара перед добавлением в корзину:
8) quantity_box_radio.tpl.php – шаблон формы ввода количества товара перед добавлением в корзину, при стиле отображения «ratio». Этот стиль отображения количества задается в настройках товара, но как-то плохо работает. Мне не удалось толком настроить отображение через radio, если у кого получится – пишите.
На этом шаблоны fly-страницы товара VirtueMart заканчиваются. Правда некоторые из них еще будут перекликаться с шаблонами из папок common и pages, которые мы рассмотрим далее.
Редактирование шаблона VirtueMart. Подпапка common.
Судя по названию в этой подпапке содержаться шаблоны VirtueMart, общие для многих частей интернет-магазина. Сюда входят аж 18 файлов:
1) availability.tpl.php – шаблон информации о доступности товара:
2) buttons.tpl.php – шаблон иконок печати, pdf, сообщения:
3) categoryChildlist.tpl.php – шаблон отображения подкатегорий данной категории на странице товара. Рисунок скажет нагляднее:
4) couponField.tpl.php – как видно из названия, этот шаблон отвечает за поле ввода купона, которое находится в разделе корзины:
5) featuredProducts.tpl.php – шаблон рекомендуемых товаров, отображающихся на странице списка товаров категории (browse)
6) login_form.tpl.php – шаблон формы авторизации после нажатия ссылки «оформить заказ» в корзине:
7) minicart.tpl.php – шаблон мини-корзины, которая отображается через главный модуль VirtueMart.
8) moreImages.tpl.php – пустой файл
9) pathway.tpl.php – как понятно из названия это шаблон пути к товару. Отображение этого пути должно быть включено в настройках шаблона VirtueMart.
10) price.tpl.php – шаблон цены товара. Относится как к странице товара, так и к странице категорий товаров! Именно в нем определяется вид зачеркнутых цен.
11) productsnapshot.tpl.php – шаблон сопутствующих товаров, отображаемых на странице товара. Для того, чтобы они показывались, нужно задать их в настройках товара, вкладка «Сопутствующие товары».
12) recent.tpl.php – шаблон недавно просмотренных товаров на странице товара:
13) relatedProducts.tpl.php – данный файл отвечает за тоже, что и файл productsnapshot.tpl.php, только если первый выводит именно единичный товар, то этот выводит список тех файлов. Бррр… Получилось ужасно. Еще раз. Файл productsnapshot.tpl.php это товар, а файл relatedProducts.tpl.php – цикл создающий несколько товаров из productsnapshot.tpl.php. В общем, как-то так. Не знаю зачем было делать все так сложно, но мы имеем именно такую структуру.
14) reviewform.tpl.php – шаблон формы добавления отзыва на странице товара.
15) reviews.tpl.php – шаблон отзывов на странице товара.
16) shopIndex.tpl.php – заголовок главной страницы VirtueMart.
17) voteform.tpl.php – теоретически этот файл должен отвечать за форму голосования за товар на странице товара(там, где звездочки), но у меня не отвечает. Код выглядит как-то по-другому, не так как должен. Честно говоря, не знаю, почему так. Если кто разберется – напишите, буду признателен.
18) votes_allvotes.tpl.php – шаблон отображения голосов за товар на странице списка товаров (browse)
Следующая статья будет завершающей в истории про редактирование шаблона. В ней я расскажу про оставшиеся папкиorder_emails и pages.