Hooks: различия между версиями
Kondin (обсуждение | вклад) |
Kondin (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
<nowiki> | <nowiki> | ||
− | <?php | + | <?php |
− | function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { | + | function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) { |
− | if ( $value == 'Найти квартиру' ) { | + | if ( $value == 'Найти квартиру' ) { |
− | $value = 'Аренда квартир'; | + | $value = 'Аренда квартир'; |
− | } | + | } |
− | return $value; | + | return $value; |
− | + | } | |
− | } | ||
− | |||
</nowiki><br /> | </nowiki><br /> | ||
Версия 09:40, 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 и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.