Hooks: различия между версиями

Материал из CMS Sitebill Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подката…»)
 
Строка 6: Строка 6:
  
 
<nowiki>
 
<nowiki>
<?php
+
<?php<br />
function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) {
+
function BeforPrintOptionName_getCategorySelectBoxWithName ( $value ) {<br />
     if ( $value == 'Найти квартиру' ) {
+
     if ( $value == 'Найти квартиру' ) {<br />
$value = 'Аренда квартир';
+
$value = 'Аренда квартир';<br />
     }
+
     }<br />
     return $value;
+
     return $value;<br />
}
+
 
 +
}<br />
 +
 
 
</nowiki><br />
 
</nowiki><br />
  

Версия 09:40, 22 мая 2017

Логика пользовательских обработчиков в следующем: в каталоге шаблона создается подкаталог 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 и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.