[(#ENV{variable, default_value})]
#ENV{variable}
используется для получения значения переменной окружения в файле шаблона. [1].
Переменную можно передать в шаблон одним из трех способов:
- явно указать в URL (в HTTP запросе)
spip.php?page=test&variable=xyz
- при подключении шаблона
<INCLURE {fond=test} {variable=xyz}>
- при помощи формы
<input type="text" name="variable" value="xyz">
В шаблоне test.html значение #ENV{variable}
будет равно "xyz".
Еще примеры
Пример передачи переменной через URL: spip.php?rubrique24&id_mot=5
В шаблоне rubrique.html, #ENV{id_mot}
будет равен 5.
При помощи INCLURE:<INCLURE{fond=my_template} {id_article=136}>
В шаблоне my_template.html, #ENV{id_article}
равен 136.
Значение по умолчанию
[(#ENV{variable, default_value})]
: параметр default_value содержит значение, которое выведет (вернет) тег в случае, если значение variable не задано или пустое (аналогично [(#ENV{variable}|sinon{default_value})]
).
Задавать значение по умолчанию очень удобно если текущий шаблон подключается несколькими разными шаблонами и в зависимости от контекста (полученных входящих данных) реализует разный вывод ( разную логику работы).
Отключение фильтров
По умолчанию SPIP применяет interdire_scripts
и entites_html
фильтры к тегу #ENV
. Как и для других тегов, возможно вывести содержимое тега используя запись #ENV*
и #ENV**
(подробнее в статье #TAG* and #TAG** ).
#ENV*
возвращает переменную без обработки ее фильтром entites_html
,т.е. в содержимом все специальный символы не конвертируются в HTML.#ENV**
выводит значение без обработки ее фильтром interdire_scripts
[2]
This can pose a security problem if this variable is passed a code injection attack. This is why interdire_scripts
is provided by default to disable any <
and other <script language=php>
references contained in the variable.
Nevertheless, #ENV**
has a useful application when constructing some forms. Using the double asterisk is then necessary for displaying CVT forms. For example, to retrieve the table of errors within the form’s template file: #ENV**{erreurs}|table_valeur{key}...