Smarty:如何读取存储在数据库中的{$ var}?

时间:2019-04-04 20:34:19

标签: php codeigniter smarty

我与smarty一起使用codeigniter。

我在数据库中存储了一个名为$serverName的变量。我想将其扩展为实际值"Pedrosite"。但是,在加载页面时,它仅显示{$serverName},而不显示值。

因此,我使用smarty的fetch函数在stackoverflow上找到了此解决方案:

$data['content']包含数据库中的文本。

$data['content'] = $this->CI->smarty->fetch('string:'.$data['content']);

这样,我可以显示聪明的var,例如:{$smarty.const.FCPATH}

但是我的自定义$vars都无法显示在常规模板(.tpl)中。

因此,我发现这种变通方法对我来说似乎很棘手:

$this->CI->smarty->assign('serverName', $this->CI->config->item('server_name'));

我可以将其放在我的__construct函数之一中,然后将影响整个站点,然后正确加载。但是我不确定这是否是正确的方法。

1 个答案:

答案 0 :(得分:0)

我不太理解您的问题,但是,如果您有变量"Pedrosite"并且它的内容为$this->smarty->assign('serverName' , $serverName); $this->smarty->view('/modules/xxxxxx'); ,则可以这样显示:

<p>{$serverName}</p>

并显示在您的.html文件中,例如:

{{1}}