是否有合理的方法来访问 View 属性“passedArgs”(或任何类似的属性)

/* view */
$this->passedArgs

从 helper 内部?

我很乐意自定义帮助程序的_construct()或自定义app_helper ...但我不想在每种 View 或用法上都必须将$this->passedArgs传递给帮助程序。

最佳答案

Cake 2.x和3.x

您可以在_View对象中查找变量:

$this->_View->viewVars['foo'];

蛋糕1.x

如果从帮助器中获取当前 View 对象,则应该能够找到其通过的Args。
class SomeHelper extends AppHelper {
  function __construct($settings = array()){
    $this->passedArgs = ClassRegistry::getObject('view')->passedArgs;
  }
}

蛋糕1.2.x

如果您从帮助器中获取当前 View 对象,则应该可以进入其viewVars。
class SomeHelper extends AppHelper {
  function __construct($settings = array()){
    $this->viewVars = ClassRegistry::getObject('view')->viewVars;
  }
}

享受,
缺口

10-07 14:09