13

ビュー属性「passedArgs」(または同様のもの)にアクセスするための合理的な方法はありますか

/* view */
$this->passedArgs

ヘルパーの中から?

ヘルパーの_construct()をカスタマイズしたり、app_helperをカスタマイズしたりできれば幸いですが$this->passedArgs、すべてのビューや使用法でヘルパーに渡す必要はありません。

4

3 に答える 3

30

Cake2.xおよび3.x

_Viewオブジェクト内の変数を検索できます。

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

ケーキ1.x

ヘルパー内から現在のビューオブジェクトを取得すると、passedArgsにアクセスできるはずです。

class SomeHelper extends AppHelper {
  function __construct($settings = array()){
    $this->passedArgs = ClassRegistry::getObject('view')->passedArgs;
  }
}

ケーキ1.2.x

ヘルパー内から現在のビューオブジェクトを取得すると、そのviewVarsにアクセスできるはずです。

class SomeHelper extends AppHelper {
  function __construct($settings = array()){
    $this->viewVars = ClassRegistry::getObject('view')->viewVars;
  }
}

楽しんで、ニック

于 2010-08-19T21:55:25.430 に答える
1

AppControllerからビューの値を設定してみましたか?

class AppController extends Controller {
 function beforeFilter() {
  // other stuff
  $this->set( 'passed_args', $this->params['pass'] );
 }
}
于 2010-08-19T20:48:14.840 に答える
1

ケーキ3:

$this->getView()->get('my_var');
于 2019-03-27T14:51:07.463 に答える