Smarty: Как прочитать {$ var}, хранящийся в базе данных? - PullRequest
1 голос
/ 04 апреля 2019

Я использую 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 функций, и тогда это повлияетвесь сайт, а затем он загружается правильно.Но я не уверен, что это правильный путь.

1 Ответ

0 голосов
/ 05 апреля 2019

Я не совсем понимаю ваш вопрос, но, если у вас есть переменная $serverName и ее содержание "Pedrosite", вы можете отобразить ее так:

$this->smarty->assign('serverName' , $serverName);
$this->smarty->view('/modules/xxxxxx');

и отобразить ее в своем.HTML-файл, например:

<p>{$serverName}</p>
...