デフォルトルートではなくカスタムルートに基づいてモジュールディレクトリを使用するプロジェクトがあります。システムは各モジュールのroutes.iniファイルをロードし、それらのルートをZend_Controller_Router_Rewriteルータに追加します。私はここで達成しようとしています何Zend Framework - ルータ_再書き込みチェーン?
protected function _initRoutes() {
$this->bootstrap('FrontController');
$front = $this->getResource('FrontController');
$routes = Module_Loader::getInstance()->getRoutes();
$front->setRouter($routes);
$front->getRouter()->removeDefaultRoutes();
}
は、URIに言語コードを付加することであるが、Router_Rewriteと連鎖することはできません。 私がルートを持っている:これはコアモジュールでホームページのコントローラのこのindexアクションへの直接の両方べきhttp://myhost.com/en/またはhttp://myhost.com/:
[routes]
;Index page
routes.core_index_index.type = "Zend_Controller_Router_Route_Static"
routes.core_index_index.route = "/"
routes.core_index_index.defaults.module = "core"
routes.core_index_index.defaults.controller = "index"
routes.core_index_index.defaults.action = "index"
routes.core_index_index.defaults.frontend = "true"
routes.core_index_index.defaults.langKey = "route_index_page_description"
routes.core_index_index.defaults.localization.enable = "true"
は基本的に私は、URLが見えるようにしたいです。
これを上記のルーティングルールに "/([en /] *)"として追加することはできますが、このようなシステム関連機能の処理にモジュールが気にする必要はありません。
これは可能ですか?
ありがとうございました。
感謝。私は追加することを防ぐための解決策を探しているので、システム内にあるすべてのルートに言語を追加します。 setGlobalParamは問題ありませんが、私のルートはかなりあります。すべてのルートにシンプルなグローバルソリューションがありますか? – Maverick
これは私の経験から最も簡単な方法です。言語パラメータを指定しないでルートを追加したい場合もあるので、このソリューションは柔軟性があるため完全に機能します。弊社のウェブサイトに90以上のルートがあり、そのほとんどに言語が含まれており、ローカライズされています(10言語)。 – yarson