перечисление через запятую всех групп первого уровня в которых есть данный товар;
class Shop_Item_Observer
{
static public function onCallNewDescription($object, $args)
{
$oShop = $object->Shop;
$aShortcuts = $oShop->Shop_Items->getAllByShortcut_id($object->id, FALSE);
$aParents = array($object->Shop_Group->name);
foreach ($aShortcuts as $oShortcut)
{
$oShop_Group = $oShortcut->Shop_Group;
$aParentGroups = array();
$aTmpGroup = $oShop_Group;
// Добавляем все директории от текущей до родителя.
do {
$aParentGroups[] = $aTmpGroup->name;
} while ($aTmpGroup = $aTmpGroup->getParent());
$aParents[]=array_pop($aParentGroups);
}
$aParents = array_unique($aParents);
$sParents = implode(', ', array_reverse($aParents));
return $sParents;
}
}
Core_Event::attach('shop_item.onCallNewDescription', array('Shop_Item_Observer', 'onCallNewDescription'));
выводить первое предложение из description группы
class Shop_Group_Observer
{
static public function onCallNewDescription($object, $args)
{
if($object->description){
$aDesc = explode(".", $object->description);
return $aDesc[0];
}
}
}
Core_Event::attach('shop_group.onCallNewDescription', array('Shop_Group_Observer', 'onCallNewDescription'));