| Salador |
|
|---|---|
|
Возникла ситуация добавить пункты меню из плагина. Вот так выглядит тег в шаблоне:
<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);
Это можно было решить штатными средствами по другому? |