我知道这里有一些关于使用partials或slots将变量传递给模板的线程。我的问题是,如何定义该变量,以便无论您在哪个页面上,该变量仍然可以访问。我知道每个操作都“扩展”sfActions
但是有没有办法访问它并为整个网站设置一个动作?
修改
每个用户在sfUser表中都有一个字段,我希望在每个页面的顶部显示该字段。这是我想要使用的代码,但我不知道放在哪里或者如何将它传递给模板页面上的部分。
$this->user = $this->getUser()->getGuardUser();
$this->activeitems = $this->user->getActiveItems();
答案 0 :(得分:1)
在每个模板中,您都可以使用$sf_user
访问您的用户信息。它返回一个myUser
对象。
如果您已安装sfGuard,则此类应扩展sfGuardSecurityUser
。在此类中,您可以使用->getGuardUser()
方法检索sfGuardUser对象。
因此,要在任何模板中检索此信息,您可以执行以下操作:
$activeitems = $sf_user->getGuardUser()->getActiveItems();