Добрый день. У меня получился observer.php следующего вида:
<?php
class Informationsystem_Item_Observer
{
static public function onBeforeGetXml($object, $args)
{
$oCore_QueryBuilder_Select = Core_QueryBuilder::select()
->select('informationsystem_groups.name', 'informationsystem_groups.path')
->from('informationsystem_items')
->leftJoin('informationsystem_groups', 'informationsystem_items.informationsystem_group_id', '=', 'informationsystem_groups.id')
->open()
->where('informationsystem_items.shortcut_id', '=', $object->id)
->setAnd()
->where('informationsystem_items.deleted', '=', '0')
->close()
->limit(1);
$shortcut = $oCore_QueryBuilder_Select->execute()->asAssoc()->current();
if (!empty($shortcut['name'])) {
// Добавить новый тег
$object->addXmlTag('theme', $shortcut['name']);
$object->addXmlTag('theme_path', $shortcut['path']);
}
}
}
Возникло два вопроса:
1) Как получить full_path до группы, а не только путь самой группы?
2) Есть ли что оптимизировать или это оптимально?