Инструменты пользователя

Инструменты сайта


eaze:pages.xml

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
eaze:pages.xml [2011/10/19 17:26]
zenden [pages.xml]
eaze:pages.xml [2012/04/01 22:24]
sergeyfast
Строка 67: Строка 67:
  
  
-====== Виртуальные экшены и цепочки вызовов ​======+===== Виртуальные экшены и цепочки вызовов =====
  
 Появилась поддержка цепочек вызовов экшенов (можно переопределять для разных хостов — это слегка модифицированные virtualActions). Появилась поддержка цепочек вызовов экшенов (можно переопределять для разных хостов — это слегка модифицированные virtualActions).
  
-===== Пример конфига ​=====+==== Пример конфига ====
 <code xml> <code xml>
 <​sites>​ <​sites>​
Строка 86: Строка 86:
 </​sites> ​ </​sites> ​
 </​code>​ </​code>​
 +
 +
 +===== Препроцессинг статических методов,​ свойств и констант в pages.xml =====
 +
 +Иногда хочется избавиться от хардкода урлов в pages.xml. В trunk появилась возможность в атрибуте ''​uri''​ тега ''​page''​ использовать статические методы,​ свойства или константы.
 +
 +  Но не стоит увлекаться таким вариантом. Это понижает читаемость кода.
 +
 +Механизм работы следующий. При при изменении содержания ''​pages.xml''​ создается новая кешированная версии ''​pages.xml''​ в папке ''​cache''​. В момент создания этого кешированной версии происходит замена соответствующих конструкций на результат их выполнения. В uri могут быть следующие варианты
 +
 +<code xml>
 +<page uri="/​{PageManagerTest::​UrlPrefix}/"​ />
 +<page uri="/​{PageManagerTest::​$UrlPrefix}/"​ />
 +<page uri="/​{PageManagerTest::​UrlPrefix()}"​ />
 +<page uri="/​{PageManagerTest::​UrlPrefix()}/​{PageManagerTest::​UrlPrefix}/​combined/​{2}/"​ />
 +</​code>​
 +
 +Где ''​PageManagerTest::​UrlPrefix''​ - константа,​ ''​$UrlPrefix''​ - статическое свойство,​ ''​UrlPrefix()''​ - статический метод.
 +
 +Данный метод не работает на страницах с ошибками (404.xml, 403.xml и т.д.).
eaze/pages.xml.txt · Последние изменения: 2012/04/01 22:24 — sergeyfast