Запрет выполнения метода в XSLT при вызове его через браузер — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «Если вы уже не раз писали кастомные макросы для ваших проектов, смотрели логику работу ста…»)
 
Строка 14: Строка 14:
 
но в xsl-шаблоне, стандартным образом можно будет запустить выполнение метода через '''xsl:apply-templates'''.  
 
но в xsl-шаблоне, стандартным образом можно будет запустить выполнение метода через '''xsl:apply-templates'''.  
 
Подобный запрет необходим, когда создается кастомная системная страница и необходимо контролировать выполнение метода внутри xsl-шаблона.
 
Подобный запрет необходим, когда создается кастомная системная страница и необходимо контролировать выполнение метода внутри xsl-шаблона.
 +
[[Категория:API]][[Категория:Верстка в XSLT]]

Версия 21:09, 28 сентября 2011

Если вы уже не раз писали кастомные макросы для ваших проектов, смотрели логику работу стандартных макросов системы, то скорее всего встречали в начале методов такую строчку кода:

if($this->breakMe()) return;

Сам метод breakMe() находится в файле classes/modules/def_module.php. Если текущий режим admin или используется XSLT-шаблонизатор, то при подобном вызове через браузер:

http://ваш_сайт/catalog/category/

не произойдет выполнение метода category(), если в начале метода стоит:

if($this->breakMe()) return;

но в xsl-шаблоне, стандартным образом можно будет запустить выполнение метода через xsl:apply-templates. Подобный запрет необходим, когда создается кастомная системная страница и необходимо контролировать выполнение метода внутри xsl-шаблона.