Корзина
Примеры как добавить данные из GeoIP в контроллеры корзины, через хуки (подробнее), можно разместив в файле bootstrap.php следующий код:
1
class My_GeoIp_Observer
2
{
3
static public function onBeforeRedeclaredShow($controller)
4
{
5
if(Core::moduleIsActive('geoip'))
6
{
7
$oXmlCurrentCity = Core::factory('Core_Xml_Entity')->name('current_city')->addAttribute('class', 'GeoIp');
8
$controller->addEntity($oXmlCurrentCity);
9
10
$aReturn = GeoIp_Controller::instance()->execute();
11
12
foreach ($aReturn as $key => $value)
13
{
14
if(is_object($value))
15
{
16
$oXmlCurrentCity->addEntity($value);
17
}
18
else
19
{
20
$oXmlCurrentCity->addEntity(
21
Core::factory('Core_Xml_Entity')->name($key)->value($value)
22
);
23
}
24
}
25
}
26
}
27
}
28
// хук для Shop_Address_Controller_Show / адрес
29
Core_Event::attach('Shop_Address_Controller_Show.onBeforeRedeclaredShow', array('My_GeoIp_Observer', 'onBeforeRedeclaredShow'));
30
// хук для Shop_Delivery_Controller_Show / доставки
31
Core_Event::attach('Shop_Delivery_Controller_Show.onBeforeRedeclaredShow', array('My_GeoIp_Observer', 'onBeforeRedeclaredShow'));
Last modified 8mo ago