====== pages.xml ====== В pages.xml описываются правила для обработки url. Правило представляет собой регулярное выражение для url, описание выполняемых действий (actions) и вывод шаблон (template). Правила выполняются последовательно. Если первым идет правило с регулярным выражением “(.*)”, а вторым – “/”, то второе правило никогда не выполнится, так как его перекрывает первое. Для удобства правила можно определять в группы. А в группах определять глобальные действия до (атрибут **//boot//**) и после (атрибут **//shutdown//**) обработки url по найденному правилу. ===== Описание файла ===== 5uglov.Users.CheckLogin_Sergeyfast ===== Виртуальные экшены и цепочки вызовов ===== Появилась поддержка цепочек вызовов экшенов (можно переопределять для разных хостов — это слегка модифицированные virtualActions). ==== Пример конфига ==== Project.Site.GetLastNews, Project.Site.GetRandPerson, Project.Site.ProcessDelayedItems ===== Препроцессинг статических методов, свойств и констант в pages.xml ===== Иногда хочется избавиться от хардкода урлов в pages.xml. В trunk появилась возможность в атрибуте ''uri'' тега ''page'' использовать статические методы, свойства или константы. Но не стоит увлекаться таким вариантом. Это понижает читаемость кода. Механизм работы следующий. При при изменении содержания ''pages.xml'' создается новая кешированная версии ''pages.xml'' в папке ''cache''. В момент создания этого кешированной версии происходит замена соответствующих конструкций на результат их выполнения. В uri могут быть следующие варианты Где ''PageManagerTest::UrlPrefix'' - константа, ''$UrlPrefix'' - статическое свойство, ''UrlPrefix()'' - статический метод. Данный метод не работает на страницах с ошибками (404.xml, 403.xml и т.д.).