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

Материал из CMS Sitebill Wiki
Перейти к навигации Перейти к поиску
Строка 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 и если она есть, то ей передается аргумент, а на выходе получаем значение измененного аргумента.