Параметры

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

Обзор

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

Имеются три основных типа параметров, сгруппированных по типу установки их значений. Системные параметры, генерируются системой и содержат наиболее используемые данные, таке как, текущая дата и время или обработчик текущей страницы. Выходные данные источников данных, которые выводят данные «на лету» на основании созданых записей. URL-параметры, которые определяются при конфигурации страниц и задаются при помощи передачи значений посредством URL.

Савокупность всех параметров доступных на странице, называют «пулом параметров».

Использование

С источниками данных

Параметры могут быть определены в редакторе источников данных — в правилах фильтрации, в настройках ограничения результатов и в настройках постраничной навигации. Для использования в качестве XSLT атрибута применяется синтаксис: {$parameter-name}.

Источники данных имеют графу «Требуемый URL параметр», но его синтаксис немного отличается. Поскольку этот параметр относится сам к себе и не является значением, то фигурные скобки не используются: $parameter-name.

В проектировании шаблонов

Получить доступ к значениям параметров можно из шаблонов страниц и утилит, используя синтаксис {$parameter-name} или посредством XPath из пула XML данных.

Детали

Пул параметров

Пул параметров содержит значения всех параметров доступных на страницах. Значения пула доступны через окружение (как было описано выше) или посредством доступа к XML источнику страницы.

Системные параметры

Ниже приведён список глобальных параметров.

Параметр Описание Пример
today Текущая дата 2009-11-30
current-time Текущее время 19:09
this-year Текущий год 2009
this-month Текущий месяц 11
this-day Текущий день месяца 30
timezone Смещение текущей временной зоны +10:00
website-name Название веб-сайта записанное в файле /manifest/config.php. Blue Ninja Bakery
page-title Заголовок текущей страницы The Ninja Way
root Корневая ссылка сайта http://blue-ninja-bakery.com
workspace URL адрес каталога worspace http://blue-ninja-bakery/workspace
root-page URL обработчик родительской страницы для текущей страницы about
current-page URL обработчик для текущей страницы the-ninja-way
current-page-id ID текущей страницы 12
current-path URL адрес текущей страницы относительно корня сайта /about/philosophy/the-ninja-way
parent-path Относительный URL родительской страницы /about/philosophy
current-url Полный URL адрес текущей страницы http://blue-ninja-bakery/about/philosophy/the-ninja-way
upload-limit Максимальный размер загружаемых файлов, указывается в файле /manifest.config.php 5242880
symphony-version Версия Symphony 2.0.7
site-mode Значения «live» или «maintenance» определяют находиться сайт на обслуживании или нет live
cookie-username Имя текущего залогиненого пользователя admin
cookie-pass Хэш пароля залогиненого пользователя

Пример вывода XML данных

<parameters>
    <today>2009-11-30</today>
    <current-time>19:09</current-time>
    <this-year>2009</this-year>
    <this-month>11</this-month>
    <this-day>30</this-day>
    <timezone>+10:00</timezone>
    <website-name>Blue Ninja Bakery</website-name>
    <symphony-version>2.0.7</symphony-version>
    <upload-limit>5242880</upload-limit>
    <root><a href="http://blue-ninja-bakery.com">http://blue-ninja-bakery.com</a></root>
    <workspace><a href="http://blue-ninja-bakery.com/workspace">http://blue-ninja-bakery.com/workspace</a></workspace>
    <page-title>The Ninja Way</page-title>
    <root-page>about</root-page>
    <current-page>the-ninja-way</current-page>
    <current-page-id>12</current-page-id>
    <current-path>/about/philosophy/the-ninja-way</current-path>
    <parent-path>/about/philosophy</parent-path>
    <current-url><a href="http://blue-ninja-bakery/about/philosophy/the-ninja-way">http://blue-ninja-bakery/about/philosophy/the-ninja-way</a></current-url>
    <cookie-username>admin</cookie-username>
    <cookie-pass>7415346ecbf1c95e6894b23456a320e</cookie-pass>
    <site-mode>live</site-mode>
</parameters>

Общая картина

При помощи расширения debug devkit становится доступным интерфейс ?debug, который позволяяет просматривать значения всех доступных на странице переменных.


Оригинал статьи

Symphony Team
http://getsymphony.com/learn/concepts/view/parameters/

Перевод

Александр Бирюков
http://alexbirukov.ru/all/symphony/