如何将变量从app_controller传递到布局
我是 CakePhp 的新手,我正在尝试将变量从 app_controller.php 传递到 default.ctp 。
我在我的 app_controller.php 中尝试了这个:
function beforeFilter(){
$this->set('my_var', $my_var_to_pass);
}
但是当我在 default.ctp 中这样做时:
echo $my_var;
我得到了这个:
Notice (8): Undefined variable: my_var [APP\views\layouts\default.ctp, line 72]
我正在使用 Cake 1.3 !
一些想法?
谢谢!
I'm new to CakePhp and I'm trying to pass a variable from my app_controller.php to my default.ctp .
I tried this in my app_controller.php:
function beforeFilter(){
$this->set('my_var', $my_var_to_pass);
}
But when I do this in my default.ctp:
echo $my_var;
I got this:
Notice (8): Undefined variable: my_var [APP\views\layouts\default.ctp, line 72]
I'm using Cake 1.3 !
Some ideas?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我唯一能想到的是你没有像你所说的那样使用 1.3,事实上 1.2 确实有将 some_var 转换为 someVar 的代码,所以要么尝试
the only thing that i can think of is that you are not using 1.3 as you say, and infact 1.2 as that did have code that converted some_var into someVar so either try
将变量从
app__controller
传递到任何布局的一个好方法是使用app_controller
中的函数beforeFilter()
。这与 Auth 使用的函数相同:
A good way to pass vars from
app__controller
to any layout, is to use the functionbeforeFilter()
inapp_controller
.This is the same function that Auth uses:
SQuat,您使用的是哪个版本的 CakePHP?正如dogmatic69指出的,1.2和1.3之间的行为存在差异。您可以使用 debug($this->viewVars) 获取视图可用的所有变量的列表。
在 1.2 中,viewVars 中的键被驼峰化()...在 1.3 中不再是这种情况。
SQuat, which version of CakePHP are you using? As dogmatic69 pointed out, there is a difference in behavior from 1.2 to 1.3. You can get a list of all the variables available to your view with debug($this->viewVars).
In 1.2, the keys in viewVars were camelized()... in 1.3 that is no longer the case.