Обработчик шаблонов — различия между версиями
Материал из wiki.2fox.org
2fox (обсуждение | вклад) |
2fox (обсуждение | вклад) (→is_price) |
||
(не показаны 40 промежуточные версии 1 участника) | |||
Строка 1: | Строка 1: | ||
[[Category:Интернет-магазин SaaS]] | [[Category:Интернет-магазин SaaS]] | ||
== Основные файлы шаблона == | == Основные файлы шаблона == | ||
− | === Основной файл шаблона - desing. | + | === Основной файл шаблона - desing.tpl === |
Доступные переменные | Доступные переменные | ||
<source lang="php"> | <source lang="php"> | ||
Строка 15: | Строка 15: | ||
</source> | </source> | ||
− | === Фильтр, товары, описание категории - | + | === Фильтр, товары, описание категории - product-list.tpl === |
Доступные переменные | Доступные переменные | ||
<source lang="php"> | <source lang="php"> | ||
{*filter*} /* Фильтр параметров */ | {*filter*} /* Фильтр параметров */ | ||
− | {* | + | {*breadcrumbs*} /* Путь, html код */ |
{*num_adv*} /* Выпадающее меню, выбор количества отображаемых товаров на странице */ | {*num_adv*} /* Выпадающее меню, выбор количества отображаемых товаров на странице */ | ||
{*page*} /* Страницы (маркерованый список) */ | {*page*} /* Страницы (маркерованый список) */ | ||
Строка 29: | Строка 29: | ||
{*content:title_short*} /* сокращенное название 35 символов */ | {*content:title_short*} /* сокращенное название 35 символов */ | ||
{*content:link*} /* ссылка (путь) */ | {*content:link*} /* ссылка (путь) */ | ||
− | {*content: | + | {*content:img*} /* изображение (путь) */ |
− | + | ||
{*content:description*} /* краткое описание */ | {*content:description*} /* краткое описание */ | ||
{*content:variants_select*} /* варианты для выбора товара */ | {*content:variants_select*} /* варианты для выбора товара */ | ||
Строка 36: | Строка 35: | ||
{*content:sum_currency_primary*} /* цена (валюта по умолчанию) */ | {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */ | ||
{*content:....*} /* остальные параметры */ | {*content:....*} /* остальные параметры */ | ||
− | { | + | {%} |
</source> | </source> | ||
− | === Список производителей - | + | === Список производителей - maker-list.tpl === |
Доступные переменные | Доступные переменные | ||
<source lang="php"> | <source lang="php"> | ||
− | {* | + | {*content*} /* массив содержащий список производителей с кратким содержанием */ |
− | {%* | + | {%*content*} |
− | {* | + | {*content:id*} /* ID новости */ |
− | {* | + | {*content:title*} /* название */ |
− | {* | + | {*content:title_short*} /* сокращенное название 35 символов */ |
− | {* | + | {*content:link*} /* ссылка (путь) */ |
− | {* | + | {*content:img_thumb*} /* миниатюра (путь) */ |
− | {* | + | {*content:img_full*} /* полное изображение (путь) */ |
− | {* | + | {*content:description*} /*краткое описание */ |
− | {* | + | {*content:adv*} /* количество добавленных товаров */ |
− | { | + | {%} |
</source> | </source> | ||
− | === Информация о производителе - | + | === Информация о производителе - maker.tpl === |
Доступные переменные | Доступные переменные | ||
<source lang="php"> | <source lang="php"> | ||
Строка 67: | Строка 66: | ||
</source> | </source> | ||
− | === Поиск - search. | + | === Поиск - search.tpl === |
Доступные переменные | Доступные переменные | ||
<source lang="php"> | <source lang="php"> | ||
Строка 86: | Строка 85: | ||
{*content:sum_currency_primary*} /* цена (валюта по умолчанию) */ | {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */ | ||
{*content:....*} /* остальные параметры */ | {*content:....*} /* остальные параметры */ | ||
− | { | + | {%} |
</source> | </source> | ||
− | === Товар - | + | === Товар - product.tpl === |
Доступные переменные | Доступные переменные | ||
<source lang="php"> | <source lang="php"> | ||
{*title*} /* Название товара */ | {*title*} /* Название товара */ | ||
− | {* | + | {*breadcrumbs*} /* Путь, html код */ |
{*img_thumb*} /* Миниатюра (путь) */ | {*img_thumb*} /* Миниатюра (путь) */ | ||
{*img_full*} /* Полное изображение (путь) */ | {*img_full*} /* Полное изображение (путь) */ | ||
+ | |||
+ | {*market_price*} /* Цена товара (валюта пользователя) */ | ||
+ | {*market_price_primary*} /* Цена товара (валюта по умолчанию) */ | ||
+ | {*wholesale_price*} /* Оптовая цена (валюта пользователя) */ | ||
+ | {*wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */ | ||
{*gallery*} /* Дополнительные изображения (массив) */ | {*gallery*} /* Дополнительные изображения (массив) */ | ||
Строка 107: | Строка 111: | ||
{*gallery*%} | {*gallery*%} | ||
− | {* | + | {*parameters*} /* Массив параметров */ |
− | {%* | + | {%*parameters*} |
− | {* | + | {*parameters:title*} /* Название */ |
− | {* | + | {*parameters:value*} /* Значения */ |
− | { | + | {%} |
{*variants_select*} /* Форма для добавления товара в корзину */ | {*variants_select*} /* Форма для добавления товара в корзину */ | ||
Строка 125: | Строка 129: | ||
{*other_adv:description*} /* краткое описание */ | {*other_adv:description*} /* краткое описание */ | ||
{*other_adv:variants_select*} /* варианты для выбора товара */ | {*other_adv:variants_select*} /* варианты для выбора товара */ | ||
− | {*other_adv: | + | {*other_adv:parameters*} /* массив с параметрами */ |
− | {*other_adv: | + | {*other_adv:market_price*} /* Цена товара (валюта пользователя) */ |
+ | {*other_adv:market_price_primary*} /* Цена товара (валюта по умолчанию) */ | ||
+ | {*other_adv:wholesale_price*} /* Оптовая цена (валюта пользователя) */ | ||
+ | {*other_adv:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */ | ||
{*other_adv:....*} /* остальные параметры */ | {*other_adv:....*} /* остальные параметры */ | ||
− | { | + | {%} |
... /* Остальные параметры добавленные пользователем */ | ... /* Остальные параметры добавленные пользователем */ | ||
</source> | </source> | ||
− | === Корзина - cart. | + | === Корзина - cart.tpl === |
+ | Доступные переменные | ||
+ | <source lang="php"> | ||
+ | {*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:....*} /* остальные параметры */ | ||
+ | {%} | ||
+ | </source> | ||
− | === Страница оформления заказа - checkout. | + | === Страница оформления заказа - checkout.tpl === |
− | === Список новостей - news. | + | === Список новостей - news-list.tpl === |
Доступные переменные | Доступные переменные | ||
<source lang="php"> | <source lang="php"> | ||
− | {* | + | {*content*} /* массив содержащий список новостей с кратким содержанием */ |
− | + | ||
− | {%* | + | {%*content*} |
− | {* | + | {*content:id*} /* ID новости */ |
− | {* | + | {*content:title*} /* Название */ |
− | {* | + | {*content:title_short*} /* Сокращенное название 35 символов */ |
− | {* | + | {*content:link*} /* Ссылка (путь) */ |
− | {* | + | {*content:img*} /* изображение (путь) */ |
− | + | {*content:description*} /* Краткое описание */ | |
− | {* | + | {%} |
− | { | + | |
</source> | </source> | ||
− | === Новость - | + | === Новость - news.tpl === |
Доступные переменные | Доступные переменные | ||
<source lang="php"> | <source lang="php"> | ||
Строка 166: | Строка 194: | ||
</source> | </source> | ||
− | === Информация о заказе - order. | + | === Информация о заказе - order.tpl (необязательный) === |
+ | Доступные переменные | ||
+ | <source lang="php"> | ||
+ | {*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:....*} /* остальные параметры */ | ||
+ | {%} | ||
+ | </source> | ||
− | === Состояние корзины - pre_cart. | + | === Состояние корзины - pre_cart.tpl (устаревший) === |
+ | Доступные переменные | ||
+ | <source lang="php"> | ||
+ | {*count*} /* Количество товаров в корзине */ | ||
+ | {*sum*} /* Сумма товаров в корзине */ | ||
+ | {*checkout*} /* Ссылка на страницу "корзина" */ | ||
+ | {*discount*} /* Скидка */ | ||
+ | </source> | ||
− | === Текстовая страница - | + | === Текстовая страница - page.tpl (необязательный) === |
== Глобальные переменные (доступны во всех файлах)== | == Глобальные переменные (доступны во всех файлах)== | ||
− | Массив '''{* | + | Массив '''{*settings*}''' содержит основные настройки Вашего сайта |
+ | |||
пример использование | пример использование | ||
− | <source lang="php"> | + | <source lang="php"> |
− | {* | + | /* Контент */ |
+ | {*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 */ | ||
+ | |||
</source> | </source> | ||
− | == Модули == | + | == Модули/функции == |
Модули это предопределенные функции доступные во всех файлах шаблона | Модули это предопределенные функции доступные во всех файлах шаблона | ||
− | === | + | |
+ | === Шаблон === | ||
<source lang="php"> | <source lang="php"> | ||
− | {* @ | + | {* @template("logo", "img") *} /* отобразит html код логотипа <img alt="Name" src="URL"> */ |
− | {* @ | + | {* @template("logo", "url") *} /* отобразит URL логотипа сайта */ |
− | {* @ | + | {* @template("author", "name") *} /* отобразит Имя автора шаблона */ |
+ | {* @template("author", "url") *} /* адрес сайта автора шаблона */ | ||
</source> | </source> | ||
+ | |||
+ | |||
+ | === Виджеты === | ||
+ | <source lang="php"> | ||
+ | {* @widget("ID", "TYPE") *} /* отобразит информацию которую содержит виджет */ | ||
+ | ID - идентификатор виджета | ||
+ | TYPE - тип данных, может принимать значение title или code | ||
+ | </source> | ||
+ | |||
+ | |||
+ | === Хлебные крошки (breadcrumbs) === | ||
+ | <source lang="php"> | ||
+ | {* @breadcrumbs("Home") *} /* Вид навигации, который наглядно показывает иерархию сайта, отображая путь от главной и до конечной страницы. */ | ||
+ | Home - Название главной страницы | ||
+ | </source> | ||
+ | |||
=== Новости === | === Новости === | ||
− | Данный модуль отобразит краткое | + | Данный модуль отобразит краткое содержание новостей |
<source lang="php"> | <source lang="php"> | ||
− | {* @ | + | {* @news(num=5) | news.tpl *} /* отобразит |
/* num - количество отображаемых новостей (по умолчанию 5, максимум 15) */ | /* num - количество отображаемых новостей (по умолчанию 5, максимум 15) */ | ||
− | /* | + | /* news.tpl - шаблон по умолчанию */ |
</source> | </source> | ||
==== Доступные переменные ==== | ==== Доступные переменные ==== | ||
<source lang="php"> | <source lang="php"> | ||
− | {* | + | {*content*} /* массив содержащий список новостей с кратким содержанием */ |
+ | {%*content*} | ||
+ | {*content:id*} /* ID новости */ | ||
+ | {*content:title*} /* название */ | ||
+ | {*content:title_short*} /* сокращенное название 35 символов */ | ||
+ | {*content:link*} /* ссылка (путь) */ | ||
+ | {*content:img_thumb*} /* миниатюра (путь) */ | ||
+ | {*content:img_full*} /* полное изображение (путь) */ | ||
+ | {*content:description*} /* краткое описание */ | ||
+ | {%} | ||
+ | </source> | ||
− | {%* | + | === Товары === |
− | {* | + | Данный модуль отобразит краткий список товаров |
− | {* | + | <source lang="php"> |
− | {* | + | {* @products(num=15, category=3, category!=5, orderby=id:DESC) | adv_index.tpl *} |
− | {* | + | /* num= - количество отображаемых товаров (по умолчанию 25, максимум 50) */ |
− | {* | + | /* category= - категории товаров (возможно перечисление через ; ) */ |
− | {* | + | /* category!= - исключить категории товаров (возможно перечисление через ; ) */ |
− | {* | + | /* adv_index.tpl - шаблон по умолчанию */ |
− | {* | + | /* Дополнительные переменные */ |
+ | В качестве дополнительных переменных можно указывать индексы параметров. Знаком может быть: =, !=, <, >, <=, <= | ||
+ | price<=15 | ||
+ | |||
+ | </source> | ||
+ | ==== Доступные переменные ==== | ||
+ | <source lang="php"> | ||
+ | {*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:....*} /* остальные параметры */ | ||
+ | {%} | ||
+ | </source> | ||
+ | |||
+ | === Производители === | ||
+ | Данный модуль отобразит краткий список производителей | ||
+ | <source lang="php"> | ||
+ | {* @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 - шаблон по умолчанию */ | ||
+ | </source> | ||
+ | ==== Доступные переменные ==== | ||
+ | <source lang="php"> | ||
+ | {*makers*} /* массив содержащий товаров */ | ||
+ | |||
+ | {%*makers*} | ||
+ | {*makers:id*} /* ID производителя */ | ||
+ | {*makers:title*} /* Название */ | ||
+ | {*makers:title_short*} /* сокращенное название 35 символов */ | ||
+ | {*makers:link*} /* ссылка (путь) */ | ||
+ | {*makers:img*} /* логотип (путь) */ | ||
+ | {*makers:description*} /* краткое описание */ | ||
+ | {*makers:adv*} /* количество товаров */ | ||
+ | {%} | ||
+ | </source> | ||
+ | |||
+ | === Размер изображений (resize) === | ||
+ | <source lang="php"> | ||
+ | {* @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" /> | ||
+ | {%} | ||
+ | </source> | ||
+ | |||
+ | === Доступные PHP функции === | ||
+ | |||
+ | ==== Дата/время ==== | ||
+ | <source lang="php"> | ||
+ | {* @date(Y) *} /* отобразит текущий год в формате YYYY */ | ||
+ | {* @date(Y-m-d) *} /* отобразит текущую дату в формате YYYY-MM-DD */ | ||
+ | {* @date(H:i:s) *} /* отобразит время в формате 00:00:00 */ | ||
+ | </source> | ||
+ | |||
+ | ==== md5 ==== | ||
+ | Возвращает MD5-хеш строки | ||
+ | <source lang="php"> | ||
+ | {* @md5(123456) *} /* отобразит e10adc3949ba59abbe56e057f20f883e */ | ||
+ | </source> | ||
+ | |||
+ | ==== floatval ==== | ||
+ | Возвращает значение переменной в виде числа с плавающей точкой | ||
+ | <source lang="php"> | ||
+ | {* @floatval(123,456) *} /* отобразит 123 */ | ||
+ | </source> | ||
+ | |||
+ | ==== intval ==== | ||
+ | Возвращает целое значение переменной | ||
+ | <source lang="php"> | ||
+ | {* @intval(123.456) *} /* отобразит 123 */ | ||
+ | </source> | ||
+ | |||
+ | ==== number_format ==== | ||
+ | Форматирует число с разделением групп | ||
+ | <source lang="php"> | ||
+ | {* @number_format(number, decimals, dec_point, thousands_sep) *} | ||
+ | </source> | ||
+ | |||
+ | ==== in_array ==== | ||
+ | Проверяет, присутствует ли в массиве значение | ||
+ | <source lang="php"> | ||
+ | {* @in_array(5, [1, 5, 6, 7]) *} /* true */ | ||
+ | </source> | ||
+ | |||
+ | ==== is_numeric ==== | ||
+ | Проверяет, присутствует ли в массиве значение | ||
+ | <source lang="php"> | ||
+ | {* @is_numeric(5) *} /* true */ | ||
+ | </source> | ||
+ | |||
+ | ==== htmlspecialchars ==== | ||
+ | Преобразует специальные символы в HTML-сущности | ||
+ | <source lang="php"> | ||
+ | {* @htmlspecialchars("<a href='test'>Test</a>") *} /* <a href='test'>Test</a> */ | ||
+ | </source> | ||
+ | |||
+ | ==== replace ==== | ||
+ | Заменяет все вхождения строки поиска на строку замены | ||
+ | <source lang="php"> | ||
+ | {* @replace(subject, from, to) *} | ||
+ | </source> | ||
+ | |||
+ | ==== preg_match ==== | ||
+ | Выполняет проверку на соответствие регулярному выражению | ||
+ | <source lang="php"> | ||
+ | {* @preg_match(pattern, subject) *} /* array */ | ||
+ | </source> | ||
+ | |||
+ | ==== preg_match_all ==== | ||
+ | Выполняет проверку на соответствие регулярному выражению | ||
+ | <source lang="php"> | ||
+ | {* @preg_match_all(pattern, subject) *} /* array */ | ||
+ | </source> | ||
+ | |||
+ | ==== preg_replace ==== | ||
+ | Выполняет поиск и замену по регулярному выражению | ||
+ | <source lang="php"> | ||
+ | {* @preg_replace(pattern, replacement, subject, limit) *} /* true OR false */ | ||
+ | </source> | ||
+ | |||
+ | ==== explode ==== | ||
+ | Разбивает строку с помощью разделителя | ||
+ | <source lang="php"> | ||
+ | {* @explode(delimiter, text) *} /* array */ | ||
+ | </source> | ||
+ | |||
+ | ==== implode ==== | ||
+ | Объединяет элементы массива в строку | ||
+ | <source lang="php"> | ||
+ | {* @implode(delimiter, vars) *} /* string */ | ||
+ | </source> | ||
+ | |||
+ | === Дополнительные функции === | ||
+ | |||
+ | ==== random ==== | ||
+ | Генерирует случайную строку заданой длинны | ||
+ | <source lang="php"> | ||
+ | {* @random(5) *} /* отобразит dfs45 */ | ||
+ | </source> | ||
+ | |||
+ | ==== is_price ==== | ||
+ | Конвертирует число в цену согласно текущей валюты и курса | ||
+ | <source lang="php"> | ||
+ | {* @is_price(5) *} | ||
+ | </source> | ||
+ | |||
+ | ==== translit ==== | ||
+ | Транслит (сокращенно от «транслитерация») - это метод написания нелатинского текста или слов, латинскими буквами. | ||
+ | <source lang="php"> | ||
+ | {* @translit("транслитерация") *} /* transliteracija */ | ||
+ | </source> | ||
+ | |||
+ | ==== setVar ==== | ||
+ | Устанавливает глобальную переменную (удобно передавать значения в основной шаблон desing.tpl) | ||
+ | <source lang="php"> | ||
+ | {* @setVar("название", "значение") *} | ||
+ | </source> | ||
+ | |||
+ | ==== getVar ==== | ||
+ | <source lang="php"> | ||
+ | {* @getVar("название") *} /* значение */ | ||
</source> | </source> |
Текущая версия на 11:20, 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("название") *} /* значение */