Функции шаблонов

Для автоматизации вашего сайта: преобразования ссылок в зависимости от адреса текущей страницы, вывода определённого контента только по заданным адресам, вставки блоков с динамическим содержимым, например, заголовков свежих или важных новостей, система «Управсайт» позволяет использовать специальные конструкции в главном и дополнительных шаблонах сайта. Содержимое всех шаблонов должно иметь корректную XML-структуру и доступно к редактированию на вкладке «Сайт — Шаблоны» панели администрирования. Количество используемых шаблонов зависит от задействованных сайтом модулей.

Сначала происходит замена переменных в локальных шаблонах, подробное их описание находится в справочном файле, доступном в панели администрирования. Таким образом формируются название, заголовок, краткое описание и ключевые слова для роботов, а также содержимое динамической страницы. Впоследствии эти параметры отдаются по API или участвуют в создании финального HTML-документа в соответствии с главным шаблоном сайта. Язык программирования шаблонов системы «Управсайт» универсален, гибок, логичен, прост в освоении, постоянно развивается и совершенствуется.

Ниже приведена общая информация о параметрах и функциях. Использована та же последовательность, в которой происходит их преобразование. Значение параметров <content>, <heading>, <created> и <modified> описано для шаблона «Сайт».

<content>

Заменяется содержимым страницы, полученным в результате обработки локального шаблона модуля.

<random>

Позволяет получить случайную строку, символ или число в зависимости от переданных параметров.

<page>

Внутреннее содержимое появляется при совпадении с одним из заданных условий: адресом, типом или HTTP-статусом страницы. Доступны флаги инверсии результата тестирования и точности совпадения.

<block>

Предназначается для вставки динамических блоков, многие из которых формируются дополнительными модулями системы, такими как «Новости» или «Каталог». В качестве общего для всех блоков принимается параметр адреса страницы (или нескольких адресов, рассматриваемых в логике «или») для вывода.

<heading>

Заменяется заголовком страницы, полученным в результате обработки локального шаблона модуля.

<created>

Выводит Unix-метку времени создания страницы. Может использоваться для последующего форматирования конструкцией <date>.

<modified>

Выводит Unix-метку времени обновления страницы. Может передаваться в конструкцию <date> для придания нужного формата.

<browser>

Исчезает или выводит внутреннее содержимое в зависимости от названия браузера, его версии или типа устройства: мобильное или стационарное.

<hyperlink>

Предназначается для автоматизации ссылок: ссылка может исчезать или становиться простым текстом при полном или частичном совпадении атрибута «url» с адресом текущей страницы.

<date>

Превращает Unix-метку времени в текстовое представление в соответствии с заданным форматом. Допустима передача параметров «day», «month» и/или «year» для неполных дат. При отсутствии значения использует текущее время.

<bytes>

Форматирует число байт в удобную для чтения строку. Единицы преобразования выбираются автоматически или вручную. Возможно задание точности (количества знаков после запятой).

<basket>

Выводит количество позиций, единиц товара или сумму заказа в корзине. Может использоваться для проверки наличия товара с определённым идентификатором в корзине. Требует подключенный модуль «Магазин».

<money>

Преобразует число, выражающее цену или сумму, в текстовое представление по вашему шаблону. Вы можете откинуть ненужный фрагмент, например «00 коп.», или вывести сумму прописью.

<stat>

Выводит статистику посещений отдельной страницы или всего сайта в виде количества хостов и хитов за сегодня или весь период учёта. Функция доступна при подключенном модуле «Статистика».

<user>

Разнообразные данные о посетителе: IP-адрес, название и версию браузера, идентификатор, логин в системе, имя, телефон, адрес или E-mail вы можете вывести с помощью этой конструкции. Последние шесть параметров требуют наличие модуля «Авторизация» и авторизованность пользователя на сайте.

<geo>

География посетителя (название и буквенный код страны, идентификатор и название округа, региона и города, а также широта и долгота населённого пункта) доступна при подключенном одноимённом модуле.

<request>

Способ вывода текстовых значений переменных запроса, полученных методом «GET» или «POST».

<cookie>

Если куки с заданным именем существует, конструкция заменится соответствующим текстовым значением, в противном случае данный фрагмент кода будет удалён.

<set>

Очень удобная функция, позволяющая сохранить в памяти системы именованную переменную, содержащую текстовую строку или HTML-код, на время формирования страницы. Таким образом вы сможете перенести значения переменных локальных шаблонов или блоков в главный шаблон или использовать сохранённые данные для работы с другими функциями.

<get>

Функция, выводящая пользовательские переменные, созданные с помощью конструкции <set>. Возможен вывод в атрибуты любых тегов.

<function>

Многофункциональная конструкция, с помощью которой вы узнаете длину строки текста, подсчитаете количество тегов в документе по названию, наличию или значению атрибута и т. п.

<if>

Гибкий синтаксис функции позволяет создавать любые условия. По результатам тестирования вы сможете выводить или скрывать блоки кода и текстовые строки. Помимо условий прямого сравнения доступно определение чётных/нечётных чисел, чисел, кратных определённому значению и инверсия срабатывания.

<breadcrumbs>

Автоматизирует создание микроразметки для цепочек навигации («хлебных крошек»), индексируемой роботами поисковых систем.

<navigation>

Эта конструкция встречается во всех шаблонах листинга объектов (новостей, товаров и т. п.), где автоматизирует создание постраничной строки навигации по заданному шаблону.


Пример использования конструкции <page>:

<page url="/feedback/">
    <span>Связь</span>
</page>
<page url="/feedback/" inv=""> <!-- Обратите внимание на наличие атрибута «inv», означающего инверсию -->
<a href="/feedback/">Связь</a>
</page>

В данном примере на странице с адресом «/feedback/» будет выведен тег <span>, содержащий слово «Связь». В противном случае, на этом участке страницы появится гиперссылка на раздел обратной связи.

Больше примеров и подробное описание функций доступны в локальном справочном файле, соответствующем вашей версии системы.