Если в инструкции указана необходимость создания файла, а в вашем шаблоне уже присутствует такой файл, то файл дополняется по правилам составления Дизайн-хуков. Для быстрого включения/выключения дизайн-хука нужно поставить знак решетки # перед его определением в config.ini, пример:
Ключ секции [hook] должен быть уникален, если требуется создать новый хук на тот же класс(ключ), то требуется объединить хуки по правилам составления дизайн-хуков.
Каталоги
Изменение сортировки главных каталогов
По умолчанию сортировка корневых каталогов происходит по правилам, указанным в карточке редактирования каталога. Требуется учитывать сортировку по имени каталога.
Создать файл /phpshop/templates/имя шаблона/php/hook/catalogelement.hook.php с содержанием
Добавление в список каталогов блока товаров из спецпредложений
Требуется в список каталогов (shop/CID_XXX.html) добавить ниже несколько товаров из спецпредложений.
Создать файл /phpshop/templates/имя шаблона/php/hook/cell.hook.php с содержанием
<?/** * Добавление в список каталогов спецпредложения товаров в 3 ячейки, лимит 3 */functioncid_category_add_spec_hook($obj,$row) {global $PHPShopProductIconElements;// Случайный выбор каталогаif(is_array($row))foreach($row as $val) $cat[]=$val['id']; $rand=rand(0,count($cat)-1);// Используем элемент вывода спецпредложений $PHPShopProductIconElements->template='main_product_forma_3'; $spec=$PHPShopProductIconElements->specMainIcon(false,$cat[$rand],3,3,true); $spec=PHPShopText::div(PHPShopText::p($spec),$align="left",$style='float:none;padding:10px');// Добавляем в переменную списка категорий вывод спецпредложений $obj->set('catalogList',$spec,true);}$addHandler=array ('CID_Category'=>'cid_category_add_spec_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopshop="php/hook/cell.hook.php";
Изменения вида списка подкаталогов
Требуется изменить вид списка подкаталогов (shop/CID_XXX.html). По-умолчанию выводится списком li, нужно изменить форму вывода.
Создать файл /phpshop/templates/имя шаблона/php/hook/cataloglist.hook.php с содержанием
<?/** * Изменение списка подкаталогов в каталоге с li на div + описание */functioncid_category_hook($obj,$dataArray,$rout) { $dis=null;if($rout=='END') {if(is_array($dataArray))foreach($dataArray as $row) { $content=PHPShopText::a($obj->path.'/CID_'.$row['id'].'.html',$row['name']);// Если требуется выводить описание каталога $content.=PHPShopText::p($row['content']); $dis.=PHPShopText::div($content,$align="left",$style='float:left;padding:10px'); }// Переназначаем переменную списка категорий $obj->set('catalogList',$dis); }}$addHandler=array ('CID_Category'=>'cid_category_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием