Если в инструкции указана необходимость создания файла, а в вашем шаблоне уже присутствует такой файл, то файл дополняется по правилам составления Дизайн-хуков. Для быстрого включения/выключения дизайн-хука нужно поставить знак решетки # перед его определением в config.ini, пример:
#phpshopprice="php/hook/price.hook.php";
- выключен
phpshopprice="php/hook/price.hook.php";
- включен
или поставить знак решетки # в массиве перехвата $addHandler в файле хука, пример:
$addHandler=array(''''#'''product'=>'product_pricecore_hook');
- выключен
$addHandler=array('product'=>'product_pricecore_hook');
- включен
Ключ секции [hook] должен быть уникален, если требуется создать новый хук на тот же класс(ключ), то требуется объединить хуки по правилам составления дизайн-хуков.
По умолчанию сортировка корневых каталогов происходит по правилам, указанным в карточке редактирования каталога. Требуется учитывать сортировку по имени каталога.
Создать файл /phpshop/templates/имя шаблона/php/hook/catalogelement.hook.php с содержанием
<?/*** изменение сортировки корневых каталогов*/function leftCatal_hook($obj,$row,$rout) {if($rout == 'START')$obj->root_order = 'name';}$addHandler=array('leftCatal'=>'leftCatal_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopshopcatalogelement="php/hook/catalogelement.hook.php";
Требуется в список каталогов (shop/CID_XXX.html) добавить ниже несколько товаров из спецпредложений.
Создать файл /phpshop/templates/имя шаблона/php/hook/cell.hook.php с содержанием
<?/*** Добавление в список каталогов спецпредложения товаров в 3 ячейки, лимит 3*/function cid_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 + описание*/function cid_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 с содержанием
[hook]phpshopshop="php/hook/cataloglist.hook.php";
Требуется вставить поле кол-ва товара для добавления требуемого кол-ва товара в корзину из раздела прайс-листа.
Создать файл /phpshop/templates/имя шаблона/php/hook/price.hook.php с содержанием
<?/*** Добавление поля кол-во товара в корзине для прайс-листа*/function product_pricecore_hook($obj,$data,$rout) {if($rout == 'END') {$dis=null;// Добавляем в дизайн ячейки с товарамиif(is_array($data))foreach($data as $row) {$name=PHPShopText::a($obj->seourl($row),$row['name']);$idn='n'.$row['id'];$cart=PHPShopText::a('javascript:AddToCartNum('.$row['id'].',''.$idn.'')',PHPShopText::img('/phpshop/templates/faqbootstrap/images/shop/basket_put.gif',false,'absMiddle'),$obj->lang('product_sale'));$num=PHPShopText::setInputText(null,"$idn",1,30);$dis.=$obj->tr('#ffffff',$name,$obj->price($row).' '.$obj->currency(),$num,$cart);}return $dis;}}$addHandler=array('product'=>'product_pricecore_hook',);
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopprice="php/hook/price.hook.php";
Требуется вывести вторую цену товара в раздел прайс-листа.
Создать файл /phpshop/templates/имя шаблона/php/hook/price.hook.php с содержанием
<?/*** Добавление поля кол-во товара в корзине для прайс-листа*/function product_price2core_hook($obj,$data,$rout) {if($rout == 'END') {$dis=null;// Добавляем в дизайн ячейки с товарамиif(is_array($data))foreach($data as $row) {$name=PHPShopText::a($obj->seourl($row),$row['name']);if(empty($row['sklad']))$cart=PHPShopText::a('javascript:AddToCart('.$row['id'].')',PHPShopText::img('/phpshop/templates/faqbootstrap/images/shop/basket_put.gif',false,'absMiddle'),$obj->lang('product_sale'));else $cart=PHPShopText::a('../users/notice.html?productId='.$row['id'],PHPShopText::img('/phpshop/templates/faqbootstrap/images/shop/date.gif',false,'absMiddle'),$obj->lang('product_notice'));// Цена 2 с учетом валюты$price_dop=PHPShopProductFunction::GetPriceValuta($row['id'],$row['price2'],$row['baseinputvaluta']);// Если нужны остальные цены$price_dop.=' / '.PHPShopProductFunction::GetPriceValuta($row['id'],$row['price3'],$row['baseinputvaluta']);$price_dop.=' / '.PHPShopProductFunction::GetPriceValuta($row['id'],$row['price4'],$row['baseinputvaluta']);$price_dop.=' / '.PHPShopProductFunction::GetPriceValuta($row['id'],$row['price5'],$row['baseinputvaluta']);$dis.=$obj->tr('#ffffff',$name,$obj->price($row).' / '.$price_dop.' '.$obj->currency(),$cart);}return $dis;}}$addHandler=array('product'=>'product_price2core_hook',);
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopprice="php/hook/price.hook.php";