Разные анкоры для элементов в группах

#
Разные анкоры для элементов в группах
Я через доп. свойство в Информационных системах в группах, где список элементов вывел анкор. Но элемент у меня выводится в разных групах, и для них нужен свой анкор. По идее надо создать табличку, в которой будет указываться id группы, id элемента и анкор, но куда вклиниться в модуле я не могу понять.
В моделе item можно добавить новый элемент в xml, но как там получить доступ к id текущей открытой группы.
В моделе group не могу достучаться до item'ов.
Если можно, то подскажите как без костылей обойтись, по хукам например, потому что у меня хуки не работают. Вот например хук, которым я пытаюсь добавить новый xml тег в item:

Core_Event::attach('informationsystem_item.onBeforeRedeclaredGetXml', array('Informationsystem_Item_Observer', 'onBeforeGetXml'));
...
static public function onBeforeGetXml($object)
   {
      $object->addXmlTag('anchor', 'seotest');
   }

Если нельзя, то скажите хотя бы как закостылить?
Модератор
#
Re: Разные анкоры для элементов в группах
Почему вы определяете именно onBeforeRedeclaredGetXml а не onBeforeGetXml?
Из описания не ясно, что именно требуется, в модели группы работаем с группой, в модели инфоэлемента - с инфоэлементом.
#
Re: Разные анкоры для элементов в группах
да, спасибо, событие ваше подошло. Уже решил почти свою задачу, осталось только разобраться как определить текущую страницу, так как событие данное вызывается и на главной и на других страницах, а в скрипте я определяю текущую группу вот так:

$groupId = Core_Page::instance()->object->group;

Но если мы находимся например на главной, то тут notice возникает, что мол нету такого объекта, и тем более такого свойства у него. Как определить что я нахожусь в модуле Информационные системы на странице группы?
Группу от самого item'а отличаю вот так:

if(Core_Page::instance()->object->item == NULL)

Модератор
#
Re: Разные анкоры для элементов в группах
http://www.hostcms.ru/documentation/modules/core/controllers/
Передача контроллеру структуры идентификатора текущего инфоэлемента и группы
if (is_object(Core_Page::instance()->object)
&& get_class(Core_Page::instance()->object) == 'Informationsystem_Controller_Show')
{
    if(is_null(Core_Page::instance()->object->item))
    {
        // ...
    }
}
Авторизация