在Cakephp中使用帮助器来设置模板变量

时间:2009-09-09 17:08:13

标签: php cakephp helper

是否可以在帮助器中设置模板变量?

最终我要做的是让一个帮助器将代码添加到布局的标题中,以便与javascript等一起使用。

我能想到的方式我不想使用:

  • 传入视图对象:不想担心必须调用额外函数
  • 使用“global”关键字来获取视图,我真的很想避免使用它,除非作为最后的手段,因为它不被认为是正统的

有什么想法吗?

更新2012-02-20: 最近我更新了蛋糕,我试图将Cake 1.2以及Cake 2的答案包括在内。感谢Adam和他们的推荐标记

1 个答案:

答案 0 :(得分:4)

我发现你可以使用类注册表来获取它,所以我在我的帮助器中创建了这个函数:

/**
 * Access to the view for special operatoins
 */
protected function getView() {
    return ClassRegistry::getObject('view');
}

更新2013-02-20: 我为Cake 1.2编写了上面的内容,Adam(在下面的评论中)建议使用$this->_View->viewVars['var']用于Cake 2.3看起来不错,但我没办法测试。