0

プロジェクトにモジュール構造を使用しています。これがデフォルトのモジュール/コントローラーを指すために使用するコードです

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.router.routes.home.defaults.module = main 
resources.router.routes.home.defaults.controller = index
resources.router.routes.home.defaults.action = show

ここまでは順調ですね。しかし、モジュールごとにデフォルトのコントローラーアクションを設定するにはどうすればよいですか?

4

1 に答える 1

1
resources.router.routes.home.defaults.module = main 
resources.router.routes.home.defaults.controller = index
resources.router.routes.home.defaults.action = show

application.iniに入れたもののこの部分は、このモジュール/コントローラー/アクションへのルートを設定しますが、これをデフォルトモジュールとして設定しません。

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

この行はモジュールをアクティブ化するのに適していますが、次のようにペアにする必要があります:

resources.modules[] =

また、各モジュールのモジュールルートに。を拡張する空のBootstrap.phpがあることを確認してくださいZend_Application_Module_Bootstrap。これは、ロードとルーティングが正しく行われるようにするために必要です。

デフォルトのモジュールを設定するには、次のような行を入力します。

resources.frontController.defaultmodule = 'default'

あなたのapplication.iniに。

これらの行:

resources.frontController.defaultcontrollername = 'index'
resources.frontController.defaultaction = 'index'

デフォルトのアクションとコントローラーを設定しますが、モジュールごとに設定します。各コントローラーのデフォルトのアクションまたは各モジュールのデフォルトのコントローラーを指定する方法がわかりません。
私は通常、インデックスをデフォルトのコントローラーとデフォルトのアクションにします。インデックスの代わりに他のアクションを実行したい場合は、それに転送します。

public function indexAction() {
    $this->+_forward('otherAction');
}

幸運を。

于 2012-08-04T06:45:13.580 に答える