【问题标题】:In Cakephp using a helper to set template variables在 Cakephp 中使用助手设置模板变量
【发布时间】:2010-11-26 22:02:42
【问题描述】:

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

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

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

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

有什么想法吗?

2012-02-20 更新: 由于最近更新了蛋糕,我试图包括对 Cake 1.2 和 Cake 2 的答案。感谢 Adam 并标记他们的建议

【问题讨论】:

  • 您应该始终注意您使用的是哪个 cakephp 版本!

标签: php cakephp helper


【解决方案1】:

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

/**
 * 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 看起来不错,但我没有办法测试。

【讨论】:

  • 可能不适用于最新的蛋糕...但是:$this->_View->viewVars['var'] in helper 在 cake2.3 中发挥了作用(@atomicguava 提供)
  • 没错,我相信我是为蛋糕 1.2 写的。我会将您的 cmets 添加到此答案中
猜你喜欢
  • 1970-01-01
  • 2013-12-06
  • 2015-11-28
  • 1970-01-01
  • 2016-03-11
  • 2014-05-12
  • 2015-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多