0

これをどのように説明すればよいかわからないため、最初にワッフルについて申し訳ありません。基本的に、コントローラーがロードされる前にブートストラップでパラメーターを取得する方法がわかりませんが、ここに長いバージョンがあります...

すべてのデフォルト リソースを格納する acl クラスがあります。すべてのページ/投稿コンテンツはデータベースであり、管理者がページを利用できるロールを選択できるようにしたいと考えています。

データベース テーブルをループして一度にすべて追加できることはわかっていますが、これがリソースの浪費になるのではないかと心配しています。アクセスチェックプラグインが動的パーミッション関数を呼び出すことができるように動作していますが、現在のページ ID のパラメーターを取得する必要があり、コントローラーが読み込まれる前にそれを設定するパーミッションです。

それは理にかなっていますか、それとも何も心配していないので、すべてのページのリソースを一度に取得する必要がありますか?

私のガーブルを読んでくれてありがとう!!

4

1 に答える 1

1

実際に zend のマニュアルを読んで、必要なものを見つけることができました。ドー!

URL から投稿 ID を取得できる $request->getParams() を使用するだけで済みました。

次に、次の方法で許可を設定できました

以下はアクセスチェックのプラグインです

$params =  $request->getParams();    
$this->_acl->setDynamicPermissions($params['post_id']);

そして、これはAclクラスで

 public function setDynamicPermissions($id) {

    $id             = (int)$id;
    $page_id        =  "page-" . $id;

    $post           = new Model_DbTable_Post();
    $restriction    = $post->getPostRestriction($id);


    $this->add(new Zend_Acl_Resource($page_id));
    $this->allow($restriction, $page_id);

}
于 2010-03-25T14:30:12.367 に答える