Если в инструкции указана необходимость создания файла, а в вашем шаблоне уже присутствует такой файл, то файл дополняется по правилам составления Дизайн-хуков. Для быстрого включения/выключения дизайн-хука нужно поставить знак решетки # перед его определением в 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/order.hook.php с содержанием
<?phpfunction productcartforma_hook($obj,$var,$rout) {global $PHPShopOrder;if($rout == 'START') {$obj->set('currency',$PHPShopOrder->default_valuta_code);$cart=$obj->PHPShopCart->display('ordercartforma');$obj->set('display_cart',$cart);$obj->set('cart_num',$obj->PHPShopCart->getNum());$obj->set('cart_sum',$obj->PHPShopCart->getSum(false));$obj->set('discount',$PHPShopOrder->ChekDiscount($obj->PHPShopCart->getSum()));$obj->set('cart_weight',$obj->PHPShopCart->getWeight());// Стоимость доставкиPHPShopObj::loadClass('delivery');$obj->set('delivery_price',PHPShopDelivery::getPriceDefault());// Итоговая стоимость$obj->set('total',$PHPShopOrder->returnSumma($obj->get('cart_sum')+$obj->get('delivery_price'),$obj->get('discount')) );return ParseTemplateReturn('.//phpshop/templates/'.$_SESSION['skin'].'/order/cart.tpl',true);}}$addHandler=array('product'=>'productcartforma_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshoporder="php/hook/order.hook.php";
Скопировать файл шаблона /phpshop/lib/templates/order/cart.tpl в /phpshop/templates/имя шаблона/order/cart.tpl
Создать файл /phpshop/templates/имя шаблона/php/hook/order.hook.php с содержанием
<?phpfunction ordercartforma_hook($val,$option,$rout) {if($rout == 'START') {// Настройка для роутера START, если END, то комментировать строку ниже$val=$val[0];$PHPShopProduct = new PHPShopProduct($val['id']);PHPShopParser::set('cart_image',$PHPShopProduct->getParam('pic_small')); // ИконкаPHPShopParser::set('cart_id',$val['id']);PHPShopParser::set('cart_art',$val['uid']); // АртикулPHPShopParser::set('cart_xid',$option['xid']);PHPShopParser::set('cart_name',$val['name']);PHPShopParser::set('cart_num',$val['num']);PHPShopParser::set('cart_price',$val['price']);return ParseTemplateReturn('.//phpshop/templates/'.$_SESSION['skin'].'/order/product.tpl',true);}}$addHandler=array('ordercartforma'=>'ordercartforma_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]ordercartforma="php/hook/order.hook.php";
Скопировать файл шаблона /phpshop/lib/templates/order/product.tpl в /phpshop/templates/имя шаблона/order/product.tpl
Добавить переменную @cart_image@
в шаблон /phpshop/templates/имя шаблона/order/product.tpl
Создать файл /phpshop/templates/имя шаблона/php/hook/specindex.hook.php с содержанием
<?php/*** Уменьшение описания*/function product_grid_hook($obj,$row){$obj->set('productDes',substr($row['description'],0,22).'...');}$addHandler=array('product_grid'=>'product_grid_hook');
Функция урежет краткое описание до 22 символов. Вместо 22 можно указать требуемое количество знаков.
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopproductelements="php/hook/specindex.hook.php";
В элементе спецпредложений на главной странице можно выставит параметр вывода товара от 1 до 3 (Настройка "Товаров в длину для витрины главной страницы"). Для добавления 4-го товара следуйте инструкции.
Создать файл /phpshop/templates/имя шаблона/php/hook/specindex.hook.php с содержанием
<?php/*** Добавление 4-го товара*/function specMain_hook($obj) {$obj->cell=4;}$addHandler=array('specMain'=>'specMain_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopproductindexelements="php/hook/specindex.hook.php";
Требуется изменить сетку и количество товаров для переменной новинок @specMainIcon@
.
Создать файл /phpshop/templates/имя шаблона/php/hook/mainnew.hook.php с содержанием
<?php/*** Изменение сетки товаров в "Новинках"*/function specMainIcon_hook($obj) {$obj->cell=2; // Размер сетки, вывод в 2 товара длиной$obj->limitspec=4; // Количество выводимых товаров}$addHandler = array('specMainIcon' => 'specMainIcon_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopproducticonelements="php/hook/mainnew.hook.php";
Требуется изменить количество товаров для выборки и количество последних анализируемых заказов. Показывать только 5 последних заказанных товаров из 5 последних заказов.
Создать файл /phpshop/templates/имя шаблона/php/hook/nowbuy.hook.php с содержанием
<?php/*** Изменение сетки товаров в "Сейчас покупают"*/function nowBuy_hook($obj) {$obj->limitpos = 5; // Количество выводимых позиций$obj->limitorders = 5; // Количество запрашиваемых заказов$obj->cell=3; // Кол-во товара в длину}$addHandler=array('nowBuy'=>'nowBuy_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopproductindexelements="php/hook/nowbuy.hook.php";
Требуется изменить количество товаров в длину в элементе новинки, выводимой через переменную @specMainIcon@
.
Создать файл /phpshop/templates/имя шаблона/php/hook/specicon.hook.php с содержанием
<?php/*** Изменение сетки товаров в спецпредложениях*/function specMainIcon_hook($obj) {// Корректируем кол-во товаров для вывода$obj->limitspec=2;}$addHandler=array('specMainIcon'=>'specMainIcon_hook',);
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopproducticonelements="php/hook/specicon.hook.php";
Требуется изменить кол-во мини-новостей с 5 (по умолчанию) на 4 из-за особенностей дизайна. Сделать возможным вывод мини-новостей с помощью @miniNews@
на всех страницах.
Создать файл /phpshop/templates/имя шаблона/php/hook/news.hook.php с содержанием
<?php/*** Изменение кол-ва новостей на главной странице*/function news_index_hook($obj,$row,$rout) {if($rout == 'START'){// Кол-во$obj->limit=4;// Ограничение вывода только на главной$obj->disp_only_index=false;}}$addHandler=array('index'=>'news_index_hook',);
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopnewselement="php/hook/news.hook.php";
На главной странице доступен вывод таблицы категорий с иконками через переменную @leftCatalTable@
, требуется изменить вид перечня подкатегорий.
Создать файл /phpshop/templates/имя шаблона/php/hook/catalogelement.hook.php с содержанием
<?php/*** Изменение шаблона ссылок таблицы категорий со строки на столбик*/function template_cat_table_hook($obj,$val) {return PHPShopText::a('/shop/CID_'.$val['id'].'.html',$val['name'],$val['name']).PHPShopText::br();}$addHandler=array('template_cat_table'=>'template_cat_table_hook');
Создать файл /phpshop/templates/имя шаблона/php/inc/config.ini с содержанием
[hook]phpshopshopcatalogelement="php/hook/catalogelement.hook.php";
Шаблон блока каталога в таблице находится в /phpshop/templates/имя шаблона/catalog/catalog_table_forma.tpl