Третья публикация из серии статей для разработчиков модулей/шаблонов под OpenCart. Эта часть содержит описание файлов шаблона.
В качестве донора для данной публикации взят движок версии 2.3. Файлы нестандартного шаблона почти ничем не отличаются от стандартного. В конце публикации можно скачать пустую заготовку для шаблона.
Разница в структуре шаблона в зависимости от версии
- В версии 1.5 все файлы шаблона находятся в папках с глубиной вложенности — 1 (module/module_name.tpl)
- С версии 2.2 модули, модули оплаты и доставки перемещены в папку extension и имеют глубину вложенности — 2 (extension/module/module_name.tpl)
- С версии 2.2 у шаблонов появились отдельные контроллеры для их настройки.
- В версии 3 появился шаблонизатор twig и, как следствие, изменено расширение файлов шаблона с *.tpl на *.twig.
Структура папок
Файлы находится в директории catalog/view/theme/название-шаблона
- image или img — изображения для шаблона
- stylesheet или css — стили
- template — html или twig файлы шаблона
- javascript или js или catalog/view/javascript — скрипты
- fonts — шрифты
Описание разделов
Файлы шаблонов удобно распределены по разделам, по функциональному назначению.
- common — шапка сайта, подвал, колонки и главная страница
- product — шаблоны всех страниц с товаром (категория, поиск, товары производителей и т.д.) и страница товара
- information — шаблоны информационных страниц, страницы контактов, карты сайта (не путать с sitemap.xml)
- extension — шаблоны модулей, модулей доставки, оплаты
- checkout — шаблоны разделов оформления заказа и корзины
- account — шаблоны раздела аккаунта (покупателя)
- mail — шаблоны писем
- error — шаблон страницы ошибки
- affiliate — шаблон раздела партнерской программы
Описание файлов
Раздел common
Шапка сайта
- header.tpl — шапка сайта, секция head, категории и все нижние блоки
- language.tpl — шаблон выпадающего списка языков, переключатель языков
- currency.tpl — шаблон выпадающего списка валют, переключатель валют
- search.tpl — шаблон строки поиска
- cart.tpl — шаблон кнопки корзины и выпадающая корзина
Подвал сайта
- footer.tpl — подвал сайта, вывод информации.
Файлы шаблона позиций
- column_left.tpl — левая колонка [позиция, вывод модулей]
- column_right.tpl — правая колонка [позиция, вывод модулей]
- content_bottom.tpl — низ страницы [позиция, вывод модулей]
- content_top.tpl — верх страницы [позиция, вывод модулей]
Отдельные страницы
- home.tpl — главная страница сайта
- maintenance.tpl — страница режима обслуживания магазина
- success.tpl — страница об успешном оформлении заказа
Раздел product
- product.tpl — страница товара
- category.tpl — страница категорий
- search.tpl — страница поиска
- special.tpl — страница акций
- manufacturer_info.tpl — страница производителя
- manufacturer_list.tpl — страница списка производителей
- compare.tpl — страница сравнения товаров
- review.tpl — шаблон отзывов
Раздел information
- contact.tpl — страница контактной информации и обратной связи
- information.tpl — страница информации
- sitemap.tpl — страница карты сайта (не путать с sitemap.xml)
Раздел extension
- payment — шаблоны модулей оплаты
- recurring — шаблоны периодических платежей, что-то вроде кредитов
- total — шаблоны «итого» для корзины и оформления заказа (купоны, бонусы, доставка, сертификаты)
- captcha — шаблоны капчи
- module — шаблоны модулей
- account.tpl — аккаунт
- banner.tpl — баннер
- bestseller.tpl — лидеры продаж
- carousel.tpl — карусель
- category.tpl — категории
- featured.tpl — рекомендуемые
- html.tpl — HTML
- information.tpl — информация
- latest.tpl — новинки
- slideshow.tpl — слайдшоу
- special.tpl — акции
Раздел checkout
Страница оформления заказа
- checkout.tpl — страница оформления заказа, нижние блоки
- payment_address.tpl — адрес оплаты
- payment_method.tpl — метод оплаты
- shipping_address.tpl — адрес доставки
- shipping_method.tpl — метод доставки
- guest_shipping.tpl — метод доставки для гостей
Отдельные страницы
- cart.tpl — страница корзины
- confirm.tpl — страница подтверждения заказа
- guest.tpl — страница гостевого оформления заказа
- login.tpl — страница авторизации
- register.tpl — страница регистрации
Раздел account
- account.tpl — страница аккаунта
- address_form.tpl — форма редактирования/добавления адреса
- address_list.tpl — список адресв
- download.tpl — страница загрузок
- edit.tpl — страница редактирования аккаунта
- forgotten.tpl — страница восстановления пароля
- login.tpl — страница авторизации
- newsletter.tpl — страница подписки на новости
- order_list.tpl — страница списка заказов
- order_info.tpl — страница информации о совершенном заказе
- password.tpl — страница редактирования пароля
- register.tpl — страница регистрации
- reset.tpl — страница сброса пароля
- return_list.tpl — страница списка возвратов товаров
- return_form.tpl — страница формы оформления возврата товара
- return_info.tpl — страница информации о возврате товара
- reward.tpl — страница бонусных баллов
- transaction.tpl — страница денежных переводов, оплат
- voucher.tpl — страница подарочных сертификатов
- wishlist.tpl — страница закладок, список желаний
Раздел error
- not_found.tpl
Раздел mail
- order.tpl — шаблон письма об успешном оформлении заказа
- voucher.tpl — шаблон письма о получении подарочного сертификата
Раздел affiliate
Раздел не описан т.к. схож с разделом account
Заготовка шаблона
Заготовку (пустой шаблон) для версий 2.x, 3.x авторства @sha, можно скачать тут.