0.00
Рейтинг
0.00
Сила

Вернуть массив из хука в шаблон (РЕШЕНО)

Добрый день. Имеется хук, возвращающий в качестве результата массив.

class PluginLive_HookLive extends Hook
{
    public function RegisterHook()
    {
        $this->AddHook('template_header_banner_begin', 'GoGoGo');
    }

    public function GoGoGo()
    {
        return array('foo'=>'bar');
    }
}
 


Вызываю в шаблоне:
{hook run='header_banner_begin' assign='aResult'}


Ожидаю, что в $aResult окажется «ассоциативный» массив, т.е. {$aResult.foo} вернет «bar». Но в результате возвращается массив вида array(0=>'A', 1=>'r', 1=>'r', 1=>'a', 1=>'y', 1=>'(' и так далее.

Помогите, пожалуйста, как корректно передать массив из хука в шаблон?

UPD: По-быстрому сделал костыльный вариант для одноуровневого массива. Буду рад предложениям как это сделать «академически верно» :)

class PluginLive_HookLive extends Hook
{
    public function RegisterHook()
    {
        $this->AddHook('template_header_banner_begin', 'Countdown');
    }

    public function Countdown()
    {
        r = array('foo'=>'bar', 'foo2'=>'bar2');
        ksort($r);
        return implode(',',$r);
    }
}


В шаблоне:
    {assign var="aLive" value=","|explode:$aLive}
    {assign var="sVar1" value=$aLive[0]}
    {assign var="sVar2" value=$aLive[1]}

Как передать результат выполнения метода плагина в шаблон? (Решено)

Доброго времени суток.
Есть задача — исполнить метод плагина и передать результат в шапку сайта.
Подскажите, пожалуйста, какие механизмы предусмотрены в LiveStreet 1.0 для этой задачи?
Большое спасибо всем откликнувшимся :)

UPD: Нашел информацию: livestreet.ru/blog/8566.html Разбираюсь в механизмах хуков.