Я использую codeigniter с smarty.
У меня есть переменная, хранящаяся в БД, которая называется $serverName
.Я хочу расширить его до его фактического значения "Pedrosite"
.Но когда страница загружена, она отображает ровно {$serverName}
, а не значение.
Так что я нашел это решение для stackoverflow, используя функцию извлечения smarty:
$data['content']
содержит текст избазы данных.
$data['content'] = $this->CI->smarty->fetch('string:'.$data['content']);
С этим я могу отобразить умные переменные, например: {$smarty.const.FCPATH}
Но ни один из моих пользовательских $vars
пока они не могут быть показаны в обычном шаблоне(.tpl
).
Так что я нашел этот обходной путь, который мне кажется очень хакерским:
$this->CI->smarty->assign('serverName', $this->CI->config->item('server_name'));
Я могу поместить это в одну из моих __construct
функций, и тогда это повлияетвесь сайт, а затем он загружается правильно.Но я не уверен, что это правильный путь.