在{php}中将新变量分配给smarty

时间:2012-09-03 07:58:21

标签: php templates smarty

目前我在模板中,需要{php}从模型/数据库中读取内容。现在这应该是当前模板中的一个新的智能变量。我该如何解决这个问题?

e.g:

{php}
   $var["newSmartyVar"] = model_gimme_data();
   $currentTemplate->assign($var);
{/php}

The value is {$newSmartyVar} !

这里的代码是什么?

(是的,不常见且不抽象,但只需要快速原型设计。代码将在稍后进入控制器。)

2 个答案:

答案 0 :(得分:2)

$this指的是当前的智能实例:

{php}
$this->assign('foo', 'bar');
{/php}
{$foo}
但是,你应该像瘟疫那样避免{php}。使用{php}是缺少抽象的标志。您可以考虑创建一个函数插件。

答案 1 :(得分:0)

{php}
global $currentTemplate;
$var = model_gimme_data();
$currentTemplate->assign('newSmartyVar',$var);
{/php}

从模型中获取一些东西:

{php}
global $currentTemplate;
$this->_tpl_vars['variableName'];
{/php}