Персональные инструменты

Обработчик шаблонов — различия между версиями

Материал из wiki.2fox.org

Перейти к: навигация, поиск
(is_price)
 
(не показаны 30 промежуточные версии 1 участника)
Строка 1: Строка 1:
 
[[Category:Интернет-магазин SaaS]]
 
[[Category:Интернет-магазин SaaS]]
 
== Основные файлы шаблона ==
 
== Основные файлы шаблона ==
=== Основной файл шаблона - desing.html ===
+
=== Основной файл шаблона - desing.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
Строка 15: Строка 15:
 
</source>
 
</source>
  
=== Фильтр, товары, описание категории - filter_adv.html ===
+
=== Фильтр, товары, описание категории - product-list.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
 
   {*filter*} /* Фильтр параметров */
 
   {*filter*} /* Фильтр параметров */
   {*way_line*} /* Путь, html код */
+
   {*breadcrumbs*} /* Путь, html код */
 
   {*num_adv*} /* Выпадающее меню, выбор количества отображаемых товаров на странице */
 
   {*num_adv*} /* Выпадающее меню, выбор количества отображаемых товаров на странице */
 
   {*page*} /* Страницы (маркерованый список) */
 
   {*page*} /* Страницы (маркерованый список) */
Строка 29: Строка 29:
 
       {*content:title_short*} /* сокращенное название 35 символов */
 
       {*content:title_short*} /* сокращенное название 35 символов */
 
       {*content:link*} /* ссылка (путь) */
 
       {*content:link*} /* ссылка (путь) */
       {*content:img_thumb*} /* миниатюра (путь) */
+
       {*content:img*} /* изображение (путь) */
      {*content:img_full*} /* полное изображение (путь) */
+
 
       {*content:description*} /* краткое описание */
 
       {*content:description*} /* краткое описание */
 
       {*content:variants_select*} /* варианты для выбора товара */
 
       {*content:variants_select*} /* варианты для выбора товара */
Строка 36: Строка 35:
 
       {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */
 
       {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */
 
       {*content:....*}  /* остальные параметры */
 
       {*content:....*}  /* остальные параметры */
   {*content*%}
+
   {%}
 
</source>
 
</source>
  
=== Список производителей - all_maker.html ===
+
=== Список производителей - maker-list.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
   {*maker*}  /* массив содержащий список производителей с кратким содержанием */
+
   {*content*}  /* массив содержащий список производителей с кратким содержанием */
  
   {%*maker*}
+
   {%*content*}
       {*maker:id*} /* ID новости */
+
       {*content:id*} /* ID новости */
       {*maker:title*} /* название */
+
       {*content:title*} /* название */
       {*maker:title_short*} /* сокращенное название 35 символов */
+
       {*content:title_short*} /* сокращенное название 35 символов */
       {*maker:link*} /* ссылка (путь) */
+
       {*content:link*} /* ссылка (путь) */
       {*maker:img_thumb*} /* миниатюра (путь) */
+
       {*content:img_thumb*} /* миниатюра (путь) */
       {*maker:img_full*} /* полное изображение (путь) */
+
       {*content:img_full*} /* полное изображение (путь) */
       {*maker:description*} /*краткое описание */
+
       {*content:description*} /*краткое описание */
       {*maker:adv*} /* количество добавленных товаров */
+
       {*content:adv*} /* количество добавленных товаров */
   {*maker*%}
+
   {%}
 
</source>
 
</source>
  
=== Информация о производителе - view_maker.html ===
+
=== Информация о производителе - maker.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
Строка 67: Строка 66:
 
</source>
 
</source>
  
=== Поиск - search.html ===
+
=== Поиск - search.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
Строка 86: Строка 85:
 
       {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */
 
       {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */
 
       {*content:....*}  /* остальные параметры */
 
       {*content:....*}  /* остальные параметры */
   {*content*%}
+
   {%}
 
</source>
 
</source>
  
=== Товар - view_adv.html ===
+
=== Товар - product.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
 
   {*title*} /* Название товара */
 
   {*title*} /* Название товара */
   {*all_way*} /* Путь, html код */   
+
   {*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*%}
  
   {*parametr_array*} /* Массив параметров */
+
   {*parameters*} /* Массив параметров */
   {%*parametr_array*}
+
   {%*parameters*}
     {*parametr_array:title*} /* Название */
+
     {*parameters:title*} /* Название */
     {*parametr_array:value*} /* Значения */
+
     {*parameters:value*} /* Значения */
   {*parametr_array*%}
+
   {%}
  
 
   {*variants_select*} /* Форма для добавления товара в корзину */
 
   {*variants_select*} /* Форма для добавления товара в корзину */
Строка 125: Строка 129:
 
       {*other_adv:description*} /* краткое описание */
 
       {*other_adv:description*} /* краткое описание */
 
       {*other_adv:variants_select*} /* варианты для выбора товара */
 
       {*other_adv:variants_select*} /* варианты для выбора товара */
       {*other_adv:parametr_array*} /* массив с параметрами */
+
       {*other_adv:parameters*} /* массив с параметрами */
       {*other_adv:sum_currency_primary*} /* цена (валюта по умолчанию) */
+
       {*other_adv:market_price*} /* Цена товара (валюта пользователя) */
 +
      {*other_adv:market_price_primary*} /* Цена товара (валюта по умолчанию) */
 +
      {*other_adv:wholesale_price*} /* Оптовая цена (валюта пользователя) */
 +
      {*other_adv:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */
 
       {*other_adv:....*}  /* остальные параметры */
 
       {*other_adv:....*}  /* остальные параметры */
   {*content*%}
+
   {%}
  
 
   ... /* Остальные параметры добавленные пользователем */
 
   ... /* Остальные параметры добавленные пользователем */
 
</source>
 
</source>
  
=== Корзина - cart.html ===
+
=== Корзина - cart.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
Строка 149: Строка 156:
 
       {*content:description*} /* краткое описание */
 
       {*content:description*} /* краткое описание */
 
       {*content:variants_select*} /* варианты для выбора товара */
 
       {*content:variants_select*} /* варианты для выбора товара */
       {*content:parametr_array*} /* массив с параметрами */
+
       {*content:parameters*} /* массив с параметрами */
       {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */
+
       {*content:market_price*} /* Цена товара (валюта пользователя) */
 +
      {*content:market_price_primary*} /* Цена товара (валюта по умолчанию) */
 +
      {*content:wholesale_price*} /* Оптовая цена (валюта пользователя) */
 +
      {*content:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */
 
       {*content:....*}  /* остальные параметры */
 
       {*content:....*}  /* остальные параметры */
   {*content*%}
+
   {%}
 
</source>
 
</source>
  
=== Страница оформления заказа - checkout.html ===
+
=== Страница оформления заказа - checkout.tpl ===
  
=== Список новостей - news.html ===
+
=== Список новостей - news-list.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
   {*news*}  /* массив содержащий список новостей с кратким содержанием */
+
   {*content*}  /* массив содержащий список новостей с кратким содержанием */
  {*page*}  /* Страницы (маркерованый список) */
+
  
   {%*news*}
+
   {%*content*}
       {*news:id*} /* ID новости */
+
       {*content:id*} /* ID новости */
       {*news:title*} /* Название */
+
       {*content:title*} /* Название */
       {*news:title_short*} /* Сокращенное название 35 символов */
+
       {*content:title_short*} /* Сокращенное название 35 символов */
       {*news:link*} /* Ссылка (путь) */
+
       {*content:link*} /* Ссылка (путь) */
       {*news:img_thumb*} /* Миниатюра (путь) */
+
       {*content:img*} /* изображение (путь) */
      {*news:img_full*} /* Полное изображение (путь) */
+
       {*content:description*} /* Краткое описание */
       {*news:description*} /* Краткое описание */
+
   {%}
   {*news*%}
+
 
</source>
 
</source>
  
=== Новость - view_news.html ===
+
=== Новость - news.tpl ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
Строка 186: Строка 194:
 
</source>
 
</source>
  
=== Информация о заказе - order.html (необязательный) ===
+
=== Информация о заказе - order.tpl (необязательный) ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
Строка 206: Строка 214:
 
       {*content:description*} /* краткое описание */
 
       {*content:description*} /* краткое описание */
 
       {*content:variants_select*} /* варианты для выбора товара */
 
       {*content:variants_select*} /* варианты для выбора товара */
       {*content:parametr_array*} /* массив с параметрами */
+
       {*content:parameters*} /* массив с параметрами */
       {*content:sum_currency_primary*} /* цена (валюта по умолчанию) */
+
       {*content:market_price*} /* Цена товара (валюта пользователя) */
 +
      {*content:market_price_primary*} /* Цена товара (валюта по умолчанию) */
 +
      {*content:wholesale_price*} /* Оптовая цена (валюта пользователя) */
 +
      {*content:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */
 
       {*content:....*}  /* остальные параметры */
 
       {*content:....*}  /* остальные параметры */
   {*content*%}
+
   {%}
 
</source>
 
</source>
  
=== Состояние корзины - pre_cart.html (устаревший) ===
+
=== Состояние корзины - pre_cart.tpl (устаревший) ===
 
Доступные переменные
 
Доступные переменные
 
<source lang="php">
 
<source lang="php">
Строка 221: Строка 232:
 
</source>
 
</source>
  
=== Текстовая страница - view_page.html (необязательный) ===
+
=== Текстовая страница - page.tpl (необязательный) ===
  
 
== Глобальные переменные (доступны во всех файлах)==
 
== Глобальные переменные (доступны во всех файлах)==
Массив '''{*opt*}''' содержит основные настройки Вашего сайта
+
Массив '''{*settings*}''' содержит основные настройки Вашего сайта
 +
 
 
пример использование
 
пример использование
<source lang="php">
+
<source lang="php">
   {*opt.template*} /* отобразит путь к текущему шаблону */
+
  /* Контент */
 +
   {*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">
   {* @date(Y) *} /* отобразит текущий год в формате YYYY */
+
   {* @template("logo", "img") *} /* отобразит html код логотипа <img alt="Name" src="URL"> */
   {* @date(Y-m-d) *} /* отобразит текущую дату в формате YYYY-MM-DD */
+
   {* @template("logo", "url") *} /* отобразит URL логотипа сайта */
   {* @date(H:i:s) *} /* отобразит время в формате 00:00:00 */
+
   {* @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">
   {* @echonews(num=5, templates=echo_news.html) *}  /* отобразит  
+
   {* @news(num=5) | news.tpl *}  /* отобразит  
 
                                   /* num - количество отображаемых новостей (по умолчанию 5, максимум 15) */
 
                                   /* num - количество отображаемых новостей (по умолчанию 5, максимум 15) */
                                   /* templates - шаблон (по умолчанию echo_news.html) */
+
                                   /* news.tpl - шаблон по умолчанию */
 
</source>
 
</source>
 
==== Доступные переменные ====
 
==== Доступные переменные ====
 
<source lang="php">
 
<source lang="php">
   {*news*}  /* массив содержащий список новостей с кратким содержанием */
+
   {*content*}  /* массив содержащий список новостей с кратким содержанием */
  
 
+
   {%*content*}
   {%*news*}
+
       {*content:id*} /* ID новости */
       {*news:id*} /* ID новости */
+
       {*content:title*} /* название */
       {*news:title*} /* название */
+
       {*content:title_short*} /* сокращенное название 35 символов */
       {*news:title_short*} /* сокращенное название 35 символов */
+
       {*content:link*} /* ссылка (путь) */
       {*news:link*} /* ссылка (путь) */
+
       {*content:img_thumb*} /* миниатюра (путь) */
       {*news:img_thumb*} /* миниатюра (путь) */
+
       {*content:img_full*} /* полное изображение (путь) */
       {*news:img_full*} /* полное изображение (путь) */
+
       {*content:description*} /* краткое описание */
       {*news:description*} /* краткое описание */
+
   {%}
   {*news*%}
+
 
</source>
 
</source>
 
  
 
=== Товары ===
 
=== Товары ===
 
Данный модуль отобразит краткий список товаров
 
Данный модуль отобразит краткий список товаров
 
<source lang="php">
 
<source lang="php">
   {* @echoadv(num=15, cat=3, cat!=5, order=DESC, orderby=id, templates=adv_index.html) *}
+
   {* @products(num=15, category=3, category!=5, orderby=id:DESC) | adv_index.tpl *}
 
                                   /* num= - количество отображаемых товаров (по умолчанию 25, максимум 50) */
 
                                   /* num= - количество отображаемых товаров (по умолчанию 25, максимум 50) */
                                   /* cat= - категории товаров (возможно перечисление через ; ) */
+
                                   /* category= - категории товаров (возможно перечисление через ; ) */
                                   /* cat!= - исключить категории товаров (возможно перечисление через ; ) */
+
                                   /* category!= - исключить категории товаров (возможно перечисление через ; ) */
                                   /* templates= - шаблон (по умолчанию adv_index.html) */
+
                                   /* adv_index.tpl - шаблон по умолчанию */
 
   /* Дополнительные переменные */
 
   /* Дополнительные переменные */
 
   В качестве дополнительных переменных можно указывать индексы параметров. Знаком может быть: =, !=, <, >, <=, <=
 
   В качестве дополнительных переменных можно указывать индексы параметров. Знаком может быть: =, !=, <, >, <=, <=
Строка 278: Строка 317:
 
==== Доступные переменные ====
 
==== Доступные переменные ====
 
<source lang="php">
 
<source lang="php">
   {*adv*}  /* массив содержащий товаров */
+
   {*content*}  /* массив содержащий товаров */
  
   {%*adv*}        
+
   {%*content*}        
       {*adv:id*} /* ID товара */
+
       {*content:id*} /* ID товара */
       {*adv:title*} /* название */
+
       {*content:title*} /* название */
       {*adv:title_short*} /* сокращенное название 35 символов */
+
       {*content:title_short*} /* сокращенное название 35 символов */
       {*adv:link*} /* ссылка (путь) */
+
       {*content:link*} /* ссылка (путь) */
       {*adv:img_thumb*} /* миниатюра (путь) */
+
       {*content:img*} /* изображение (путь) */
      {*adv:img_full*} /* полное изображение (путь) */
+
       {*content:description*} /* краткое описание */
       {*adv:description*} /* краткое описание */
+
       {*content:variants_select*} /* варианты для выбора товара */
       {*adv:variants_select*} /* варианты для выбора товара */
+
       {*content:parameters*} /* массив с параметрами */
       {*adv:parametr_array*} /* массив с параметрами */
+
       {*content:market_price*} /* Цена товара (валюта пользователя) */
       {*adv:sum_currency_primary*} /* цена (валюта по умолчанию) */
+
      {*content:market_price_primary*} /* Цена товара (валюта по умолчанию) */
       {*adv:....*}  /* остальные параметры */
+
      {*content:wholesale_price*} /* Оптовая цена (валюта пользователя) */
   {*adv*%}
+
      {*content:wholesale_price_primary*} /* Оптовая цена (валюта по умолчанию) */
 +
       {*content:....*}  /* остальные параметры */
 +
   {%}
 
</source>
 
</source>
 
  
 
=== Производители ===
 
=== Производители ===
 
Данный модуль отобразит краткий список производителей
 
Данный модуль отобразит краткий список производителей
 
<source lang="php">
 
<source lang="php">
   {* @echomaker(num=15, order=DESC, orderby=id, templates=maker_index.html) *}
+
   {* @makers(num=15, orderby=id:ASC) | maker_index.tpl *}
 
                                   /* num= - количество отображаемых товаров (по умолчанию 25, максимума нет) */
 
                                   /* num= - количество отображаемых товаров (по умолчанию 25, максимума нет) */
                                   /* order= - сортировка по полю (id, title, description, logo, adv) */
+
                                   /* order= - сортировка по полю (id, title, description, logo, adv) всегда сортирует в обратном порядке */
                                   /* orderby= - DESC или ASC */
+
                                   /* orderby= - сортировка по полю (id, title, description, logo, adv, ...) DESC или ASC */
                                   /* templates= - шаблон (по умолчанию maker_index.html) */
+
                                   /* maker_index.tpl - шаблон по умолчанию */
 
</source>
 
</source>
 
==== Доступные переменные ====
 
==== Доступные переменные ====
 
<source lang="php">
 
<source lang="php">
   {*maker*}  /* массив содержащий товаров */
+
   {*makers*}  /* массив содержащий товаров */
  
   {%*maker*}        
+
   {%*makers*}        
       {*maker:id*} /* ID товара */
+
       {*makers:id*} /* ID производителя */
       {*maker:title*} /* название */
+
       {*makers:title*} /* Название */
       {*maker:title_short*} /* сокращенное название 35 символов */
+
       {*makers:title_short*} /* сокращенное название 35 символов */
       {*maker:link*} /* ссылка (путь) */
+
       {*makers:link*} /* ссылка (путь) */
       {*maker:img_thumb*} /* миниатюра (путь) */
+
       {*makers:img*} /* логотип (путь) */
       {*maker:img_full*} /* полное изображение (путь) */
+
       {*makers:description*} /* краткое описание */
      {*maker:description*} /* краткое описание */
+
      {*makers:adv*} /* количество товаров */
      {*maker:adv*} /* количество товаров */
+
  {%}
   {*maker*%}
+
</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>") *} /* &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; */
 +
</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

Содержание

Основные файлы шаблона

Основной файл шаблона - 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>") *} /* &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; */

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("название") *} /* значение */