我与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
函数之一中,然后将影响整个站点,然后正确加载。但是我不确定这是否是正确的方法。
答案 0 :(得分:0)
我不太理解您的问题,但是,如果您有变量"Pedrosite"
并且它的内容为$this->smarty->assign('serverName' , $serverName);
$this->smarty->view('/modules/xxxxxx');
,则可以这样显示:
<p>{$serverName}</p>
并显示在您的.html文件中,例如:
{{1}}