Корзина

Примеры как добавить данные из GeoIP в контроллеры корзины, через хуки (подробнее), можно разместив в файле bootstrap.php следующий код:

class My_GeoIp_Observer
{
    static public function onBeforeRedeclaredShow($controller)
    {
        if(Core::moduleIsActive('geoip'))
        {
            $oXmlCurrentCity = Core::factory('Core_Xml_Entity')->name('current_city')->addAttribute('class', 'GeoIp');
            $controller->addEntity($oXmlCurrentCity);
            
            $aReturn = GeoIp_Controller::instance()->execute();
		
            foreach ($aReturn as $key => $value)
            {
                if(is_object($value))
                {
                    $oXmlCurrentCity->addEntity($value);
                }
                else
                {
                    $oXmlCurrentCity->addEntity(
                        Core::factory('Core_Xml_Entity')->name($key)->value($value)
                    );
                 }
             }
        }
    }
}
// хук для Shop_Address_Controller_Show / адрес
Core_Event::attach('Shop_Address_Controller_Show.onBeforeRedeclaredShow', array('My_GeoIp_Observer', 'onBeforeRedeclaredShow'));
// хук для Shop_Delivery_Controller_Show / доставки
Core_Event::attach('Shop_Delivery_Controller_Show.onBeforeRedeclaredShow', array('My_GeoIp_Observer', 'onBeforeRedeclaredShow'));

Last updated