====== CMS ====== Обработка содержимого производится в соответствии со следующими простыми правилами. ===== Теги замен ===== При загрузке страницы (элемента) содержимое анализируется на предмет наличия тегов форматирования. Поддерживаются следующие теги форматирования. ==== Замена ==== Формат: {substitute_name} Тег будет заменен на значение [[CMS:globals|глобальной]] или локальной переменной, например "PAGE" будет заменено на имя текущей страницы. ==== Включение ==== {include_name()} Тег позволяет включить элемент с именем "include_name" из файловой системы CMS и установить для элемента локальные переменные, переданные в параметрах. ===== Вложение тегов ===== Теги могут быть неограниченно вложены друг в друга, например: {{PAGE}()} {{PAGE}/block1()} при этом сначала будут заменены внутренние теги, то есть вместо "PAGE" будет подставлено имя страницы, а затем получившийся тег будет обработан снова. ===== Разворачивание тегов ===== При вложении и последующей замене тегов весь тег будет заменен соответствующим содержимым, поэтому для обработки заменяемого содержимого тега как самостоятельного тега после замены он должен быть помещен в двойные скобки. Например, при включении на первой страницы содержимого второй страницы, в которую передается как параметр имя третьей страницы: {page_two(include_page_three:page_three())} Вторая страница должна содержать тег в двойных скобках: {{include_page_three}} Тогда в первом проходе "include_page_three" будет заменено на "page_three()": {page_three()} а во втором проходе тег "{page_three()}" будет обработан и заменен содержимым третьего файла. ===== Экранирование скобок ===== Для установки фигурных скобок в тексте и исключения их их анализа тегов они должны быть экранированы символом обратный слеш: \{ \} Экранирование не допускается внутри тегов и/или их параметров.