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

Salador
#42902 2017-06-09 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);

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