将变量从Smarty分配给PHP

时间:2015-02-05 08:42:54

标签: php smarty smarty3

我正在使用Smarty for eMail-Templates,我希望将邮件主题放在一个带有正文模板的地方。

我的第一次尝试是用

设置主题
{assign var="subject" value="mySubject"}

并使用

访问它
$smart->getTamplateVars();

但是主题无处可寻。

我目前的工作解决方案是:

{php}
    global $subject;
    $subject = "My Subject";
{/php}

但使用SmartyBC和{php}感觉不对。

有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

你不应该在Smarty中分配变量,然后通过PHP使用它。该方法是在控制器中分配变量,然后在视图中显示它。你应该真正了解MVC模式。此外,不使用全局变量,这是非常糟糕的解决方案。 {php}标签是非常可选的,不应滥用。

http://www.smarty.net/sampleapp1在此链接下,您会找到示例应用检查它,看看它应该是什么样子。