Форумы / National / Russian / Тех. поддержка / Добавление данных в теги шаблона.

Salador
#42902 09.06.2017 14:22

Возникла ситуация добавить пункты меню из плагина.

Вот так выглядит тег в шаблоне:

<ul class="nav">    
{MENU_GENERAL}  
</ul>

в плагине текст в меню добавляется вот так:

$t->assign('MENU_GENERAL',$text_menu);

но проблема в том, что если я добавляю ещё один плагин и в нем хочу вставить пункт меню, то он заменяет другие, а не добавляет.

Также мне нужно было чтобы на главной странице каждый плагин добавлял свой блок.

Решил я это так - в файл system/cotemplate.php после public function assign добавил почти аналогичную функцию :

public function assign_add($name, $val = NULL, $prefix = '')
{
    if (is_array($name))
    {
        foreach ($name as $key => $val)
        {
            $this->vars[$prefix.$key] .= $val;
        }
    }
    else
    {
        $this->vars[$prefix.$name] .= $val;
    }
    return $this;
}

где просто добавил точки перед равно.

Теперь данные в теги можно добавлять

$t->assign_add('MENU_GENERAL',$text_menu);

Это можно было решить штатными средствами по другому?