Функции шаблонов
Для автоматизации вашего сайта: преобразования ссылок в зависимости от адреса текущей страницы, вывода определённого контента только по заданным адресам, вставки блоков с динамическим содержимым, например, заголовков свежих или важных новостей, система «Управсайт» позволяет использовать специальные конструкции в главном и дополнительных шаблонах сайта. Содержимое всех шаблонов должно иметь корректную 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>
Выводит количество позиций, единиц товара или сумму заказа в корзине. Может использоваться для проверки наличия товара с определённым идентификатором в корзине. Требует подключенный модуль «Магазин».
<wishlist>
Выводит количество товаров, добавленных в список желаний. Может использоваться для проверки наличия товара с заданным идентификатором в этом списке. Как и «basket», является частью модуля «Магазин».
<money>
Преобразует число, выражающее цену или сумму, в текстовое представление по вашему шаблону. Вы можете откинуть ненужный фрагмент, например «00 коп.», или вывести сумму прописью.
<stat>
Выводит статистику посещений отдельной страницы или всего сайта в виде количества хостов и хитов за сегодня или весь период учёта. Функция доступна при подключенном модуле «Статистика».
<user>
Разнообразные данные о посетителе: IP-адрес, название и версию браузера, идентификатор, логин в системе, имя, телефон, адрес или E-mail вы можете вывести с помощью этой конструкции. Последние шесть параметров требуют наличие модуля «Авторизация» и авторизованность пользователя на сайте.
<geo>
География посетителя (название и буквенный код страны, идентификатор и название округа, региона и города, а также широта и долгота населённого пункта) доступна при подключенном одноимённом модуле.
<request>
Способ вывода текстовых значений переменных запроса, полученных методом «GET» или «POST».
<cookie>
Если куки с заданным именем существует, конструкция заменится соответствующим текстовым значением, в противном случае данный фрагмент кода будет удалён.
<filter>
Проверяет наличие пользовательских фильтров на страницах листинга объектов, например, новостей, позволяя визуализировать их условия.
<sort>
Проверяет наличие пользовательских условий сортировки на страницах вывода объектов, например, товаров каталога, упрощая их визуализацию.
<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>
, содержащий слово «Связь». В противном случае, на этом участке страницы появится гиперссылка на раздел обратной связи.
Больше примеров и подробное описание функций доступны в локальном справочном файле, соответствующем вашей версии системы.