Hooks
Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог hooks в, в который нужно поместить файл hooks.php
/template/frontend/ваш_шаблон/hooks/hooks.php
Внутри файла должно быть такое содержание:
<?php<br />
function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) {<br />
if ( $value == 'Найти квартиру' ) {<br />
$value = 'Аренда квартир';<br />
}<br />
return $value;<br />
}<br />
Функция 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 и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.