2

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

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

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

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

有什么想法吗?

2012 年 2月 20 日更新: 随着最近更新的蛋糕,我试图包括对蛋糕 1.2 和蛋糕 2 的答案。感谢亚当和马克的建议

4

1 回答 1

4

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

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

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

于 2009-09-09T17:42:13.633 回答