Обработчик шаблонов — различия между версиями
Материал из wiki.2fox.org
2fox (обсуждение | вклад) (→Размер изображений (resize)) |
2fox (обсуждение | вклад) (→Доступные PHP функции) |
||
Строка 422: | Строка 422: | ||
<source lang="php"> | <source lang="php"> | ||
{* @htmlspecialchars("<a href='test'>Test</a>") *} /* <a href='test'>Test</a> */ | {* @htmlspecialchars("<a href='test'>Test</a>") *} /* <a href='test'>Test</a> */ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
Версия 11:17, 5 января 2018
Содержание
- 1 Основные файлы шаблона
- 1.1 Основной файл шаблона - desing.tpl
- 1.2 Фильтр, товары, описание категории - product-list.tpl
- 1.3 Список производителей - maker-list.tpl
- 1.4 Информация о производителе - maker.tpl
- 1.5 Поиск - search.tpl
- 1.6 Товар - product.tpl
- 1.7 Корзина - cart.tpl
- 1.8 Страница оформления заказа - checkout.tpl
- 1.9 Список новостей - news-list.tpl
- 1.10 Новость - news.tpl
- 1.11 Информация о заказе - order.tpl (необязательный)
- 1.12 Состояние корзины - pre_cart.tpl (устаревший)
- 1.13 Текстовая страница - page.tpl (необязательный)
- 2 Глобальные переменные (доступны во всех файлах)
- 3 Модули
Основные файлы шаблона
Основной файл шаблона - desing.tpl
Доступные переменные
{*title*} /* Название текущей страницы */ {*meta_k*} /* Ключевые слова для текущей страницы */ {*meta_d*} /* Описание для текущей страницы */ {*page_class*} /* CSS класс текущей страницы */ {*page_id*} /* CSS ID текущей страницы */ {*template*} /* Путь к шаблону */ {*page*} /* Маркерованый список страниц */ {*categories*} /* Маркерованый список категорий */ {*content*} /* Контент текущей страницы */
Фильтр, товары, описание категории - product-list.tpl
Доступные переменные
{*filter*} /* Фильтр параметров */ {*breadcrumbs*} /* Путь, html код */ {*num_adv*} /* Выпадающее меню, выбор количества отображаемых товаров на странице */ {*page*} /* Страницы (маркерованый список) */ {*description*} /* Описание категории */ {*content*} /* Массив товаров */ {%*content*} {*content:id*} /* ID товара */ {*content:title*} /* название */ {*content:title_short*} /* сокращенное название 35 символов */ {*content:link*} /* ссылка (путь) */ {*content:img*} /* изображение (путь) */ {*content:description*} /* краткое описание */ {*content:variants_select*} /* варианты для выбора товара */ {*content:parametr_array*} /* массив с параметрами */ {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */ {*content:....*} /* остальные параметры */ {%}
Список производителей - maker-list.tpl
Доступные переменные
{*content*} /* массив содержащий список производителей с кратким содержанием */ {%*content*} {*content:id*} /* ID новости */ {*content:title*} /* название */ {*content:title_short*} /* сокращенное название 35 символов */ {*content:link*} /* ссылка (путь) */ {*content:img_thumb*} /* миниатюра (путь) */ {*content:img_full*} /* полное изображение (путь) */ {*content:description*} /*краткое описание */ {*content:adv*} /* количество добавленных товаров */ {%}
Информация о производителе - maker.tpl
Доступные переменные
{*id*} /* ID */ {*title*} /* название */ {*img_thumb*} /* миниатюра (путь) */ {*img_full*} /* полное изображение (путь) */ {*text*} /* текст */ {*description*} /* краткое описание */
Поиск - search.tpl
Доступные переменные
{*search_result*} /* Информация о результатах поиска */ {*num_adv*} /* Выпадающее меню, выбор количества отображаемых товаров на странице */ {*page*} /* Страницы (маркерованый список) */ {*content*} /* Массив товаров */ {%*content*} {*content:id*} /* ID товара */ {*content:title*} /* название */ {*content:title_short*} /* сокращенное название 35 символов */ {*content:link*} /* ссылка (путь) */ {*content:img_thumb*} /* миниатюра (путь) */ {*content:img_full*} /* полное изображение (путь) */ {*content:description*} /* краткое описание */ {*content:variants_select*} /* варианты для выбора товара */ {*content:parametr_array*} /* массив с параметрами */ {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */ {*content:....*} /* остальные параметры */ {%}
Товар - product.tpl
Доступные переменные
{*title*} /* Название товара */ {*breadcrumbs*} /* Путь, html код */ {*img_thumb*} /* Миниатюра (путь) */ {*img_full*} /* Полное изображение (путь) */ {*market_price*} /* Цена товара (валюта пользователя) */ {*market_price_primary*} /* Цена товара (валюта по умолчанию) */ {*wholesale_price*} /* Оптовая цена (валюта пользователя) */ {*wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */ {*gallery*} /* Дополнительные изображения (массив) */ {%*gallery*} {*gallery:img*} - /* файл изображения */ {*gallery:img_full*} - /* url изображения (большое) */ {*gallery:img_thumb*} - /* url изображения (маленькое) */ {*gallery:title*} - /* Название изображения */ {*gallery:adv*} - /* ID товара к которому прикреплено изображение */ {*gallery:id*} - /* ID изображения */ {*gallery*%} {*parameters*} /* Массив параметров */ {%*parameters*} {*parameters:title*} /* Название */ {*parameters:value*} /* Значения */ {%} {*variants_select*} /* Форма для добавления товара в корзину */ {*status*} /* Статус товара */ {*other_adv*} /* Похожие товары (массив) */ {%*other_adv*} {*other_adv:id*} /* ID товара */ {*other_adv:title*} /* название */ {*other_adv:title_short*} /* сокращенное название 35 символов */ {*other_adv:link*} /* ссылка (путь) */ {*other_adv:img_thumb*} /* миниатюра (путь) */ {*other_adv:img_full*} /* полное изображение (путь) */ {*other_adv:description*} /* краткое описание */ {*other_adv:variants_select*} /* варианты для выбора товара */ {*other_adv:parameters*} /* массив с параметрами */ {*other_adv:market_price*} /* Цена товара (валюта пользователя) */ {*other_adv:market_price_primary*} /* Цена товара (валюта по умолчанию) */ {*other_adv:wholesale_price*} /* Оптовая цена (валюта пользователя) */ {*other_adv:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */ {*other_adv:....*} /* остальные параметры */ {%} ... /* Остальные параметры добавленные пользователем */
Корзина - cart.tpl
Доступные переменные
{*all_summ*} /* Сумма */ {*discount*} /* Скидка % */ {*summ_discount*} /* Сумма с учетом скидки */ {*content*} /* Массив товаров */ {%*content*} {*content:id*} /* ID товара */ {*content:title*} /* название */ {*content:title_short*} /* сокращенное название 35 символов */ {*content:link*} /* ссылка (путь) */ {*content:img_thumb*} /* миниатюра (путь) */ {*content:img_full*} /* полное изображение (путь) */ {*content:description*} /* краткое описание */ {*content:variants_select*} /* варианты для выбора товара */ {*content:parameters*} /* массив с параметрами */ {*content:market_price*} /* Цена товара (валюта пользователя) */ {*content:market_price_primary*} /* Цена товара (валюта по умолчанию) */ {*content:wholesale_price*} /* Оптовая цена (валюта пользователя) */ {*content:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */ {*content:....*} /* остальные параметры */ {%}
Страница оформления заказа - checkout.tpl
Список новостей - news-list.tpl
Доступные переменные
{*content*} /* массив содержащий список новостей с кратким содержанием */ {%*content*} {*content:id*} /* ID новости */ {*content:title*} /* Название */ {*content:title_short*} /* Сокращенное название 35 символов */ {*content:link*} /* Ссылка (путь) */ {*content:img*} /* изображение (путь) */ {*content:description*} /* Краткое описание */ {%}
Новость - news.tpl
Доступные переменные
{*id*} /* ID новости */ {*title*} /* Название */ {*img_thumb*} /* Миниатюра (путь) */ {*img_full*} /* Полное изображение (путь) */ {*date_add*} /* Дата добавления */ {*text*} /* Полный текст */ {*description*} /* Краткое описание */
Информация о заказе - order.tpl (необязательный)
Доступные переменные
{*id*} /* ID заказа */ {*link*} /* Ссылка */ {*status*} /* Статус заказа (число) */ {*all_summ*} /* Сумма */ {*discount*} /* Скидка */ {*summ_discount*} /* (Сумма заказа) - (скидка) */ {*payment_form*} /* Форма оплаты (только для неоплаченных заказов) */ {*content*} /* Массив товаров */ {%*content*} {*content:id*} /* ID товара */ {*content:title*} /* название */ {*content:title_short*} /* сокращенное название 35 символов */ {*content:link*} /* ссылка (путь) */ {*content:img_thumb*} /* миниатюра (путь) */ {*content:img_full*} /* полное изображение (путь) */ {*content:description*} /* краткое описание */ {*content:variants_select*} /* варианты для выбора товара */ {*content:parameters*} /* массив с параметрами */ {*content:market_price*} /* Цена товара (валюта пользователя) */ {*content:market_price_primary*} /* Цена товара (валюта по умолчанию) */ {*content:wholesale_price*} /* Оптовая цена (валюта пользователя) */ {*content:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */ {*content:....*} /* остальные параметры */ {%}
Состояние корзины - pre_cart.tpl (устаревший)
Доступные переменные
{*count*} /* Количество товаров в корзине */ {*sum*} /* Сумма товаров в корзине */ {*checkout*} /* Ссылка на страницу "корзина" */ {*discount*} /* Скидка */
Текстовая страница - page.tpl (необязательный)
Глобальные переменные (доступны во всех файлах)
Массив {*settings*} содержит основные настройки Вашего сайта
пример использование
/* Контент */ {*settings.title*} /* отобразит путь к текущему шаблону */ {*settings.meta_k*} /* отобразит путь к текущему каталогу стилей CSS */ {*settings.meta_d*} /* отобразит путь к текущему каталогу файлов Javascript */ {*settings.domain*} /* отобразит основной домен сайта */ {*settings.support_email*} /* отобразит email службы поддержки сайта */ /* Дизайн */ {*settings.template*} /* отобразит путь к текущему шаблону */ {*settings.template_css*} /* отобразит путь к текущему каталогу стилей CSS */ {*settings.template_js*} /* отобразит путь к текущему каталогу файлов Javascript */
Модули
Модули это предопределенные функции доступные во всех файлах шаблона
Шаблон
{* @template("logo", "img") *} /* отобразит html код логотипа <img alt="Name" src="URL"> */ {* @template("logo", "url") *} /* отобразит URL логотипа сайта */ {* @template("author", "name") *} /* отобразит Имя автора шаблона */ {* @template("author", "url") *} /* адрес сайта автора шаблона */
Виджеты
{* @widget("ID", "TYPE") *} /* отобразит информацию которую содержит виджет */ ID - идентификатор виджета TYPE - тип данных, может принимать значение title или code
Хлебные крошки (breadcrumbs)
{* @breadcrumbs("Home") *} /* Вид навигации, который наглядно показывает иерархию сайта, отображая путь от главной и до конечной страницы. */ Home - Название главной страницы
Новости
Данный модуль отобразит краткое содержание новостей
{* @news(num=5) | news.tpl *} /* отобразит /* num - количество отображаемых новостей (по умолчанию 5, максимум 15) */ /* news.tpl - шаблон по умолчанию */
Доступные переменные
{*content*} /* массив содержащий список новостей с кратким содержанием */ {%*content*} {*content:id*} /* ID новости */ {*content:title*} /* название */ {*content:title_short*} /* сокращенное название 35 символов */ {*content:link*} /* ссылка (путь) */ {*content:img_thumb*} /* миниатюра (путь) */ {*content:img_full*} /* полное изображение (путь) */ {*content:description*} /* краткое описание */ {%}
Товары
Данный модуль отобразит краткий список товаров
{* @products(num=15, category=3, category!=5, orderby=id:DESC) | adv_index.tpl *} /* num= - количество отображаемых товаров (по умолчанию 25, максимум 50) */ /* category= - категории товаров (возможно перечисление через ; ) */ /* category!= - исключить категории товаров (возможно перечисление через ; ) */ /* adv_index.tpl - шаблон по умолчанию */ /* Дополнительные переменные */ В качестве дополнительных переменных можно указывать индексы параметров. Знаком может быть: =, !=, <, >, <=, <= price<=15
Доступные переменные
{*content*} /* массив содержащий товаров */ {%*content*} {*content:id*} /* ID товара */ {*content:title*} /* название */ {*content:title_short*} /* сокращенное название 35 символов */ {*content:link*} /* ссылка (путь) */ {*content:img*} /* изображение (путь) */ {*content:description*} /* краткое описание */ {*content:variants_select*} /* варианты для выбора товара */ {*content:parameters*} /* массив с параметрами */ {*content:market_price*} /* Цена товара (валюта пользователя) */ {*content:market_price_primary*} /* Цена товара (валюта по умолчанию) */ {*content:wholesale_price*} /* Оптовая цена (валюта пользователя) */ {*content:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */ {*content:....*} /* остальные параметры */ {%}
Производители
Данный модуль отобразит краткий список производителей
{* @makers(num=15, orderby=id:ASC) | maker_index.tpl *} /* num= - количество отображаемых товаров (по умолчанию 25, максимума нет) */ /* order= - сортировка по полю (id, title, description, logo, adv) всегда сортирует в обратном порядке */ /* orderby= - сортировка по полю (id, title, description, logo, adv, ...) DESC или ASC */ /* maker_index.tpl - шаблон по умолчанию */
Доступные переменные
{*makers*} /* массив содержащий товаров */ {%*makers*} {*makers:id*} /* ID производителя */ {*makers:title*} /* Название */ {*makers:title_short*} /* сокращенное название 35 символов */ {*makers:link*} /* ссылка (путь) */ {*makers:img*} /* логотип (путь) */ {*makers:description*} /* краткое описание */ {*makers:adv*} /* количество товаров */ {%}
Размер изображений (resize)
{* @resize("URL", "width", "height") *} /* позволяет изменять размер загруженных изображений */ /* Пример использования (простой) */ <img src="{* @resize("/upload/none.png", "300", "300") *}" height="300" width="300" /> /* Пример использования (в цикле) */ {%*content*} <img src="{* @resize(*content:img*, "300", "300") *}" height="300" width="300" /> {%}
Доступные PHP функции
Дата/время
{* @date(Y) *} /* отобразит текущий год в формате YYYY */ {* @date(Y-m-d) *} /* отобразит текущую дату в формате YYYY-MM-DD */ {* @date(H:i:s) *} /* отобразит время в формате 00:00:00 */
md5
Возвращает MD5-хеш строки
{* @md5(123456) *} /* отобразит e10adc3949ba59abbe56e057f20f883e */
floatval
Возвращает значение переменной в виде числа с плавающей точкой
{* @floatval(123,456) *} /* отобразит 123 */
intval
Возвращает целое значение переменной
{* @intval(123.456) *} /* отобразит 123 */
number_format
Форматирует число с разделением групп
{* @number_format(number, decimals, dec_point, thousands_sep) *}
in_array
Проверяет, присутствует ли в массиве значение
{* @in_array(5, [1, 5, 6, 7]) *} /* true */
is_numeric
Проверяет, присутствует ли в массиве значение
{* @is_numeric(5) *} /* true */
htmlspecialchars
Преобразует специальные символы в HTML-сущности
{* @htmlspecialchars("<a href='test'>Test</a>") *} /* <a href='test'>Test</a> */
replace
Заменяет все вхождения строки поиска на строку замены
{* @replace(subject, from, to) *}
preg_match
Выполняет проверку на соответствие регулярному выражению
{* @preg_match(pattern, subject) *} /* array */
preg_match_all
Выполняет проверку на соответствие регулярному выражению
{* @preg_match_all(pattern, subject) *} /* array */
preg_replace
Выполняет поиск и замену по регулярному выражению
{* @preg_replace(pattern, replacement, subject, limit) *} /* true OR false */
explode
Разбивает строку с помощью разделителя
{* @explode(delimiter, text) *} /* array */
implode
Объединяет элементы массива в строку
{* @implode(delimiter, vars) *} /* string */
Дополнительные функции
random
Генерирует случайную строку заданой длинны
{* @random(5) *} /* отобразит dfs45 */
is_price
Конвертирует число в цену согласно заданного курса
{* @is_price(5) *}
translit
Транслит (сокращенно от «транслитерация») - это метод написания нелатинского текста или слов, латинскими буквами.
{* @translit("транслитерация") *} /* transliteracija */
setVar
Устанавливает глобальную переменную (удобно передавать значения в основной шаблон desing.tpl)
{* @setVar("название", "значение") *}
getVar
{* @getVar("название") *} /* значение */