private:koding:hostcms:modules:shop:elements:substitute_item_urls

Подмена URL товара

Начиная с версии 6.6.3 в HostCMS появилась возможность подмены URL для товаров, сделать это можно с помощью следующего наблюдателя.

Создаем файл наблюдателя:

<?php
 
defined('HOSTCMS') || exit('HostCMS: access denied.');
 
/**
 * Подмена URL для товара.
 * 
 * Подключение наблюдателя:
 * 
 * // Подмена URL для товара.
 * Core_Event::attach('shop_item.onBeforeRedeclaredGetXml', array('Shop_Item_Observer_SubstituteUrl', 'onBeforeRedeclaredGetXml'));
 * 
 * @author KAD Systems (©) 2017	
 * @date 04-04-2017	
 */
class Shop_Item_Observer_SubstituteUrl
{
    /**
     * @param  Shop_Item_Model  $oShopItem
     * @param  array  $aArgs
     * @return void
     */
    static public function onBeforeRedeclaredGetXml(Shop_Item_Model $oShopItem, array $aArgs)
    {
        $oShopItem
            ->addForbiddenTag('url')
            ->addEntity(
                Core::factory('Core_Xml_Entity')
                    ->name('url')
                    ->value('/some_url/')
            );
    }
}

В bootstrap.php:

// Подмена URL для товара.
Core_Event::attach('shop_item.onBeforeRedeclaredGetXml', array('Shop_Item_Observer_SubstituteUrl', 'onBeforeRedeclaredGetXml'));

Решение работает также для групп товаров, инфоэлементов и инфогрупп.

Страницу создал Максим Засорин 03.04.17 в 17:04

private/koding/hostcms/modules/shop/elements/substitute_item_urls.txt · Last modified: 27.06.17 в 15:39 by maximzasorin_gmail.com