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

Обработчик шаблонов

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

Перейти к: навигация, поиск

Содержание

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

Основной файл шаблона - 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_thumb*} /* Миниатюра (путь) */
      {*content:img_full*} /* Полное изображение (путь) */
      {*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_full*, "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) *}

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