====== Глобальные переменные в шаблонах ====== Каждый из шаблонов имеет доступ к определенным данным. Данные эти можно разделить на: * **специальные** - зависят от [[:modules|модуля]] или [[:blocks|блока]] которому принадлежит шаблон и соответственно от того какие задачи он выполняет. Подробно эти данные описаны в рукодствах по каждому из [[:extensions|расширений]]. * **глобальные** - те что доступны всегда. Ниже приведен список всех глобальных переменных. ===== Шаблоны страниц ===== Шаблоны всех типов страниц находятся в каталоге /templates/[mysiteid]/ и имеют доступ к следующим данным: ==== $title ==== Сгенерированное значение для тега title на странице. {$title} ==== $keywords ==== Сгенерированное значение для meta тега keywords на странице. ==== $description ==== Сгенерированное значение для meta тега description на странице. ==== $meta ==== Содержит код дополнительных мета-тегов указанных в [[:admin:site#nastrojki|настройках сайта]]. ==== $jscripts ==== Содержит сгенерированный код динамически подключаемых js скриптов. ==== $site_name ==== Название сайта, меняется в настройках. ==== $section_name ==== Название раздела, меняется в параметрах раздела. ==== $section_idimg ==== Идентификатор изображения прикрепленного к разделу, меняется в параметрах раздела (доступно только администратору с полными правами). ==== $navigation ==== Объект строки навигации (хлебные крошки), имеет [[:integration:objects|свой шаблон]]. {object obj=$navigation} ==== $errors ==== Специальный массив со значениями о возможных ошибках, например ошибка при вводе каптчи. {if $errors.captcha}

Неверно введены контрольные цифры, попробуйте еще раз.

{/if}
==== $options ==== Массив значений опций активного раздела. Пример для шаблона catalog_page.tpl модуля [[:modules:catalog|"Каталог материалов"]]. {if $options.usefiles} {* Если включена опция прикрепляемых файлов. *} {if $item.idfile} {* Если есть прикрепленный файл. *}

{download id=$item.idfile size=true}

{/if} {/if}
==== $auth ==== Объект авторизации, позволяет проверить "залогиненность" пользователя и получить доступ к его данным. Используется только, если существует раздел на базе модуля [[:modules:users|"Пользователи"]]. {if $auth->isLogin()} Добро пожаловать, {$auth->data.name}! {/if} ==== $system ==== Массив значений, отражающих текущее состояние системы. Состоит из следующих ключей: * **mode** - строковой идентификатор активного режима, может использоваться только в шаблонах панели управления. * **item** - полный строковой идентификатор активного раздела или дополнения, может использоваться только в шаблонах панели управления. * **domain** - строковой идентификатор активного сайта. * **module** - строковой идентификатор активного модуля. * **section** - полный строковой идентификатор активного раздела. * **sectionlink** - ссылка на главную страницу активного раздела. * **structure** - полный строковой идентификатор активного дополнения, может использоваться только в шаблонах панели управления. * **lang** - строковой идентификатор активной языковой версии сайта. * **sname** - короткий строковой идентификатор активного раздела (тот, что указывается при создании). * **mainpage** - логическое значение, истина если активна главная страница сайта. * **ie6** - логическое значение, истина если броузером пользователя является IE6. * **authcode** - код авторизации администратора (в панели управления) или пользователя (на сайте). * **page** - строковой идентификатор типа активной страницы на сайте. * **curlink** - ссылка на текущую страницу. * **prevlink** - ссылка на последнюю посещенную страницу. * **tpldir** - путь к каталогу с шаблонами на сервере. * **imgdir** - путь к каталогу с презентационной графикой, указывает на папку images внутри каталога с шаблонами. {* Пример использования (например в шапке сайта, которая подключается для всех страниц сайта). *} {if $system.module=='catalog'} {* Если активный модуль 'catalog'. *} {if $system.page=='category'} {* Если активная страница имеет тип 'category'. *}

Вывод специального сообщения или подсказки.

{/if} ... {/if}
===== Шаблоны блоков ===== Шаблоны всех типов блоков находятся в каталоге /templates/[mysiteid]/blocks/ и имеют доступ к следующим данным: ==== $title ==== Название блока. ==== $block ==== Строковой идентификатор [[:blocks|типа блока]], например links для блоков созданных на базе типа [[:blocks:links|"Список ссылок"]]. ==== $id ==== Строковой идентификатор блока. ==== $section ==== Полный строковой идентификатор раздела к которому относится блок. ==== $sectionlink ==== Ссылка на главную страницу раздела к которому относится блок. ==== $options ==== Массив значений опций раздела к которому относится блок. ==== $parent ==== Массив всех переменных, доступных на текущей странице. ==== $auth ==== Объект авторизации, [[#$auth|см. выше]]. ==== $system ==== Массив значений, отражающих текущее состояние системы, [[#$system|см. выше]]. ===== Шаблоны обрамлений блоков ===== Шаблоны обрамлений блоков находятся в каталоге /templates/[mysiteid]/frames/ и имеют доступ к следующим данным: ==== $title ==== Название блока, который заключен в обрамление. ==== $content ==== Содержимое блока, который заключен в обрамление. ==== $auth ==== Объект авторизации, [[#$auth|см. выше]]. ==== $system ==== Массив значений, отражающих текущее состояние системы, [[#$system|см. выше]]. ===== Шаблоны писем ===== Шаблоны всех писем находятся в каталоге /templates/[mysiteid]/mails/ и имеют доступ к следующим данным: ==== $site_name ==== Название сайта, меняется в настройках. ==== $section_name ==== Название раздела, меняется в параметрах раздела. ==== $auth ==== Объект авторизации, [[#$auth|см. выше]]. ==== $system ==== Массив значений, отражающих текущее состояние системы, [[#$system|см. выше]]. Первая строка в шаблоне письма определяет тему (subject) сообщения.