Теги Evolution
Введение
В шаблонах Evolution CMS используются различные теги, которые служат для формирования контента. Теги дают простой, но эффективный способ включать в контент веб-страницы различные данные.
Виды используемых тегов
- [[snippet]] - результат работы кэшируемого сниппета.
- [!snippet!] - то же, но без кэширования
- [(setting)] - любое значение из настроек сайта. Чаще всего используется что-то вроде [(site_name)].
- [*resourceField*] - ТВ-параметр или поле ресурса
- [^timing^] - время выполнения скриптов
- [ ~ link ~ ] - ссылка на ресурс
- {{chunk}} - чанк
- [+placeholder+] - плейсхолдер
Сниппеты
Сниппеты - это просто PHP-код, выход которого отображается в месте размещения тега сниппетта.
Чтобы выполнить сниппет, вставьте его в документе, чанке или шаблоне, где нужно отобразить вывод результатов его работы.
Настройки
В тегах настроек находятся параметры системы. Например, [(site_name)] вставит имя сайта. Это часто используется в заголовках страниц.
Список настроек можно найти в базе данных Evolution в таблице PREFIX_system_settings, где PREFIX это префикс ваших таблиц.
Список настроек:
- [(allow_duplicate_alias)] - разрешены или нет повторяющиеся псевдонимы при использовании дружественных URL
- [(automatic_alias)] - генерируются ли псевдонимы документов на основе заголовков страниц автоматически
- [(base_url)] или [(site_url)] - адрес сайта
- [(cache_default)] - документ 'кэшируемый' по умолчанию
- [(captcha_words)] - слова, используемые для настройки Captcha
- [(custom_contenttype)] - разделенный запятыми список типов содержимого, обслуживаемых MODx
- [(default_template)] - идентификатор шаблона используемого по умолчанию для новых документов
- [(editor_css_path)] - путь к CSS-файлу используемого визуальным редактором
- [(emailsender)] - основной адрес электронной почты на сайте
- [(emailsubject)] - тема письма подтверждения регистрации веб-пользователей
- [(error_page)] - идентификатор страницы ошибки '404'
- [(etomite_charset)] или [(modx_charset)] - кодировка сайта
- [(fck_editor_autolang)] - указывает, установлен ли FCKeditor для автоматического определения языка
- [(fck_editor_style)] - указывает стиль используемый в FCKeditor
- [(fck_editor_toolbar)] - указывает на пользовательскую панель инструментов, добавленную в FCKeditor
- [(filemanager_path)] - корневая папка для доступа файлового менеджера MODx
- [(friendly_alias_urls)] - используются ли псевдонимы в дружественных URL
- [(friendly_urls)] - используются ли дружественные URL
- [(friendly_url_prefix)] - префикс для дружественных URL
- [(friendly_url_suffix)] - суффикс для дружественных URL
- [(manager_language)] - язык системы управления
- [(manager_theme)] - шаблон системы управления
- [(number_of_logs)] - количество записей протокола на одной странице
- [(number_of_messages)] - количество сообщений на одной странице
- [(number_of_results)] - количество элементов, отображаемых в списках и результатах поиска
- [(publish_default)] - публикация новых ресурсов после создания по умолчанию
- [(rb_base_dir)] - физический путь к папке файлов
- [(rb_base_url)] - адрес (URL) папки файлов
- [(search_default)] - новые ресурсы после создания доступны для поиска по умолчанию
- [(server_offset_time)] - поправка (количество часов) между временем на месте вашего пребывания и на месте нахождения сервера
- [(server_protocol)] - HTTP или HTTPS (SSL) соединение
- [(settings_version)] - версия системы
- [(signupemail_message)] - сообщение, которое будет отсылаться менеджерам, когда создается учетная запись нового менеджера
- [(site_name)] - название сайта
- [(site_start)] - идентификатор стартовой страницы
- [(site_status)] - статус сайта online (1) или offline (0)
- [(site_unavailable_message)] - сообщение, выводимое в случае недоступности сайта (когда выбран статус 'Оффлайн') или в случае возникновения ошибки. Это сообщение выводится только в том случае, когда не выбрана страница 'Сайт недоступен'
- [(site_unavailable_page)] - идентификатор ресурса, который должны будут увидеть посетители, если попытаются зайти на сайт, когда он недоступен
- [(strip_image_paths)] - используются абсолютные или относительные ссылки для изображений, файлов, анимации и т.д.
- [(top_howmany)] - количество лучших показателей в отчетах статистики
- [(track_visitors)] - регистрировать посещения
- [(udperms_allowroot)] - разрешено ли пользователям создавать ресурсы в корневой папке
- [(unauthorized_page)] - ID ресурса, который должны будут увидеть посетители, если попытаются зайти на закрытую страницу (403 – доступ запрещен)
- [(upload_files)] - разделенный запятыми список расширений файлов, которые могут быть загружены через файловый менеджер
- [(upload_maxsize)] - максимальный размер загружаемых файлов в байтах
- [(use_alias_path)] - используются вложенные URL
- [(use_captcha)] - использовать код CAPTCHA при авторизации
- [(use_editor)] - использовать HTML-редактор
- [(use_udperms)] - права доступа юзера
- [(webpwdreminder_message)] - сообщение, которое будет отсылаться веб-пользователям, когда они запрашивают напоминание пароля
- [(websignupemail_message)] - сообщение, которое будет отсылаться веб-пользователям, когда создается учетная запись нового веб-пользователя
- [(which_editor)] - используемый HTML-редактор
Поля ресурсов
Теги ресурсов могут отображать основные атрибуты ресурсов, которые находятся в базе данных в таблице PREFIX_site_content.
Это наиболее часто используемые теги ресурса:
- [*pagetitle*] - название документа
- [*longtitle*] - длинное название документа
- [*introtext*] - сводка документа
- [*content*] - содержание документа
Переменные шаблона
ТВ-параметры - это мощный способ вставки блоков контента, характерных для отображаемой страницы.
ТВ-параметры могут быть настроены для конкретного документа.
Тайминг
В Evo есть несколько тегов времени:
- [^qt^] - время на запросы к базе данных
- [^q^] - запросов к базе данных
- [^p^] - время на работу PHP скриптов
- [^t^] - общее время на генерацию страницы
- [^s^] - источник содержимого (база или кэш)
- [^m^] - размер кэша (опционально)
Ссылки
Чтобы вставить ссылку на другой документ, просто поместите номер идентификатора документа в тег ссылки. Например, [~ 123 ~] создаст ссылку на документ с идентификатором 123.
Чанки
В чанках содержится простой текст, обычно HTML-код, который будет просто вставлен на страницу.
Они очень удобны для хранения общего содержимого. Например, если футер содержит номер телефона, а номер изменяется, вам нужно внести изменения только в чанк, а не на каждую страницу сайта.
Плейсхолдеры
Наиболее часто плейсхолдеры нужны для темизации вывода сниппета.
<div class="nl_summaryPost">
<h3><a href="[+id+]">[+title+]</a></h3>
<div>[+summary+]</div>
<p>[+link+]</p>
<div style="text-align:right;">by <strong>[+author+]</strong> on [+date+]</div>
</div>
Плейсхолдеры могут использоваться где угодно в любом HTML-коде.
Хорошим примером этого является сниппет Persinalize. Он просто возвращает имя веб-пользователя в плейсхолдер.
Но вы можете поместить сниппет один раз в свой шаблон или документ, а затем поместить плейсхолдер в столько мест, сколько захотите, например, в приветствии в верхней части страницы и в разделе «выход из системы».
Комбинируйте!
Используя комбинации сниппетов, ТВ-параметров и чанков, вы можете сделать свой сайт довольно гибким! Например, у вас может быть сниппет, результаты работы которого будут зависеть от переданных ТВ-параметров, а внешний вид будет темизироваться чанками с плейсхолдерами внутри.
Подробнее обо всех видах тегов и их использовании вы можете прочитать в документации разработчика.