0

Symfony 1.4 にベースコントローラー (ベースの actions.php ファイル) がある状況があります。そのベースコントローラーを拡張する、同じモジュール用の別のコントローラーを作成したいと考えています。

URL の ID に基づいて識別される特定の訪問者の動作をカスタマイズしたいので、その基本コントローラーを拡張する必要があります。

ヒントはありますか?

4

2 に答える 2

1

同じモジュールの別のコントローラ クラス、symfony では不可能だと思います。

あなたにとって最も簡単な解決策は、同じクラスに別のメソッドを作成し、それをベースのメソッドから呼び出すことだと思います。

例: actions.class.php:

public function executeBaseAction(sfWebRequest $request) {

   .. if($user....) then return $this->executeCustomAction($request);

}

public function executeCustomAction(sfWebRequest $request) {
  // $this->setTemplate('anotherTemplate?');

}
于 2012-10-05T21:31:43.550 に答える
0

実際には、同じモジュールに別のコントローラー クラスを追加できます。

次の方法で、アクション ディレクトリに複数のファイルを含めることができます。

action1Action.class.php で

class action1Action extends sfAction
{
    public function execute($request) {
        //Your code here
    }
}

これはテンプレート action1Success.php を使用します

action2Action.class.php 内

class action2Action extends sfAction
{
    public function execute($request) {
        //Your code here
    }
}

これはテンプレート action2Success.php を使用します

于 2012-10-19T02:06:59.637 に答える