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

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


eaze:pages.xml

Различия

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

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

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
eaze:pages.xml [2011/09/12 17:25]
sergeyfast virtual actions
eaze:pages.xml [2012/04/01 22:24]
sergeyfast
Строка 5: Строка 5:
 Правила выполняются последовательно. Если первым идет правило с регулярным выражением “(.*)”, а вторым – “/”, то второе правило никогда не выполнится,​ так как его перекрывает первое. Правила выполняются последовательно. Если первым идет правило с регулярным выражением “(.*)”, а вторым – “/”, то второе правило никогда не выполнится,​ так как его перекрывает первое.
  
-Для удобства правила можно определять в группы. А в группах определять глобальные действия до и после обработки url по найденному правилу. ​+Для удобства правила можно определять в группы. А в группах определять глобальные действия до (атрибут **//​boot//​**) ​и после ​(атрибут **//​shutdown//​**) ​обработки url по найденному правилу. ​
  
 ===== Описание файла ===== ===== Описание файла =====
Строка 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