是否有合理的方法来访问视图属性“passedArgs”(或任何类似的)
/* view */
$this->passedArgs
来自助手?
我很乐意自定义帮助程序的_construct()或自定义app_helper ...但我不想在每个视图或用法时将$this->passedArgs
传递给帮助程序。< / p>
答案 0 :(得分:29)
Cake 2.x和3.x
您可以在_View
对象中查找变量:
$this->_View->viewVars['foo'];
Cake 1.x
如果从帮助程序中获取当前视图对象,则应该能够访问其passArgs。
class SomeHelper extends AppHelper {
function __construct($settings = array()){
$this->passedArgs = ClassRegistry::getObject('view')->passedArgs;
}
}
Cake 1.2.x
如果从帮助程序中获取当前视图对象,则应该能够访问其viewVars。
class SomeHelper extends AppHelper {
function __construct($settings = array()){
$this->viewVars = ClassRegistry::getObject('view')->viewVars;
}
}
享受, 尼克
答案 1 :(得分:1)
您是否尝试过从AppController设置视图的值?
class AppController extends Controller {
function beforeFilter() {
// other stuff
$this->set( 'passed_args', $this->params['pass'] );
}
}
答案 2 :(得分:0)
蛋糕3:
$this->getView()->get('my_var');