Hooks: различия между версиями
Kondin (обсуждение | вклад) |
Kondin (обсуждение | вклад) |
||
Строка 4: | Строка 4: | ||
Внутри файла должно быть такое содержание:<br /> | Внутри файла должно быть такое содержание:<br /> | ||
− | + | <pre> | |
<nowiki> | <nowiki> | ||
<?php | <?php | ||
Строка 13: | Строка 13: | ||
return $value; | return $value; | ||
} | } | ||
− | </nowiki><br /> | + | </nowiki> |
+ | </pre> | ||
+ | <br /> | ||
Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> | Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.<br /> | ||
Строка 23: | Строка 25: | ||
Этой функцией:<br /> | Этой функцией:<br /> | ||
− | + | <pre> | |
<nowiki> | <nowiki> | ||
function load_hooks () { | function load_hooks () { | ||
Строка 31: | Строка 33: | ||
} | } | ||
</nowiki> | </nowiki> | ||
+ | </pre> | ||
<br /> | <br /> | ||
В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента. | В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента. |
Версия 09:41, 22 мая 2017
Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php
/template/frontend/ваш_шаблон/hooks/hooks.php
Внутри файла должно быть такое содержание:
<?php function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { if ( $value == 'Найти квартиру' ) { $value = 'Аренда квартир'; } return $value; }
Функция BeforPrintOptionName_getCategorySelectBoxWithName будет выполняться перед выводом заголовка в select_box_structure, для того чтобы мы могли поменять название пункта с Найти квартиру на Аренда квартир.
Эти функции из файла hooks загружаются в процессе обработки модулем
/apps/system/lib/system/apps/apps_processor.php
Этой функцией:
function load_hooks () { if ( file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php') ) { include_once (SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/hooks'.'/hooks.php'); } }
В дальнейшем при выполнении генерации списка для select_box выполняется код проверки наличия пользовательской функции BeforPrintOptionName_getCategorySelectBoxWithName и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.