我使用codeigniter和smarty。
我有一个存储在db中的变量,名为$serverName
。我想将它扩展到它的实际值"Pedrosite"
。但是当页面加载时,它显示的确是{$serverName}
而不是值。
所以我使用smarty的fetch函数在stackoverflow上找到了这个解决方案:
$data['content']
包含数据库中的文本。
$data['content'] = $this->CI->smarty->fetch('string:'.$data['content']);
有了它,我可以展示聪明的变量,如:{$smarty.const.FCPATH}
但是没有我的自定义$vars
,而他们可以在常规模板(.tpl
)中显示。
所以我发现这个解决方法看起来非常hacky给我:
$this->CI->smarty->assign('serverName', $this->CI->config->item('server_name'));
我可以把它放在我的一个__construct
函数中然后它会影响整个网站,然后它正确加载。但我不确定这是否正确。
我真的不明白你的问题,但是,如果你有你的变量$serverName
并且它内容"Pedrosite"
你可以像这样显示它:
$this->smarty->assign('serverName' , $serverName);
$this->smarty->view('/modules/xxxxxx');
并将其显示在.html文件中,例如:
<p>{$serverName}</p>