Использование Core_Page для получения данных о текущем узле структуры, информационной системе и магазине
Объект Core_Page содержит информацию о мета-тегах страницы с возможностью их изменения и объект текущего узла структуры.
При нахождении внутри информационной системы или магазина свойство object содержит контролер показа, например Informationsystem_Controller_Show или Shop_Controller_Show
Получение объекта текущего узла структуры
$oStructure = Core_Page::instance()->structure; var_dump($oStructure->id);
Определение показа информационной системы, идентификатора группы и элемента
// Если показ информационной системы
if (is_object(Core_Page::instance()->object)
&& get_class(Core_Page::instance()->object) == 'Informationsystem_Controller_Show')
{
// Объект информационной системы
$oInformationsystem = Core_Page::instance()->object->getEntity();
// Идентификатор информационной системы
var_dump($oInformationsystem->id);
// Текущая группа информационной системы
var_dump(intval(Core_Page::instance()->object->group));
// Текущий элемент информационной системы
var_dump(intval(Core_Page::instance()->object->item));
}
Определение показа магазина, идентификатора группы и товара
// Если показ магазина
if (is_object(Core_Page::instance()->object)
&& get_class(Core_Page::instance()->object) == 'Shop_Controller_Show')
{
// Объект магазина
$oShop = Core_Page::instance()->object->getEntity();
// Идентификатор магазина
var_dump($oShop->id);
// Текущая группа магазина
var_dump(intval(Core_Page::instance()->object->group));
// Текущий элемент магазина
var_dump(intval(Core_Page::instance()->object->item));
}
Комментарии
-
Опечатка..?
- Определение показа магазина, идентификатора группы и товара
// Если показ информационной системы
Вероятно, имелось ввиду // Если показ <b>интернет магазина</b>, верно?
-
Без темы
вот так должно быть:
$oInformationsystem = Core_Page::instance()->object->getEntity();
$oShop = Core_Page::instance()->object->getEntity();