Использование 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>, верно?

    26.11.2020 15:03:32
    prizrak067
    prizrak067

    Без темы

    Спасибо, исправлено.

    26.11.2020 15:29:47
    hostcms
  • Без темы

    вот так должно быть:

    $oInformationsystem = Core_Page::instance()->object->getEntity();
    $oShop = Core_Page::instance()->object->getEntity();

    11.04.2016 08:01:33
    HostDEV.pw