Корзина
Примеры как добавить данные из 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