カスタムコントローラ/アクションのsitemap.xmlにするための要求をルーティング
/のための直接的な要求をするためにはsitemap.xmlにあなたのカスタムコントローラとアクションにZend Frameworkのアプリケーションは、単にあなたにapplication.iniまたは代替の設定ファイル(例:私の使用navigation.ini)に以下を追加します。
resources.router.routes.sitemap.route ="sitemap.xmlに" resources.router.routes.sitemap.defaults.controller =インデックス resources.router.routes.sitemap.defaults.action =サイトマップ
出力するためのサンプルコードは、適切なコントローラ(私のサイトがインデックスコントローラ、サイトマップのアクションにあるなど)でアクションを作成して見ることができます。
< PHP クラスからindexController Zend_Controller_Actionを拡張し { / ** * Zend_Navigationの設定に基づいてマップをレンダリング * / パブリック関数のsitemapAction() { エコーで$ this ->ビュー>ナビゲーション() - >サイトマップ(); $この - >表示 - >レイアウト() - > disableLayout(); の$ this -> _helper -> ViewRendererは - > setNoRender(真の); } }
サイトマップを迅速かつ容易に使用して生成することができますZend_Navigationを 、偉大な簡単なチュートリアルでは、(そしてZend Frameworkのチュートリアルのための一般的に非常に有用な)れているZendはキャスト - 動的メニューサイトマップとパンくずリストを作成 。


















































私は言及を忘れて一つのことはあなたにもそうでない場合はすべてのURLは、Zend_Navigation_Page_Mvcを(使用する場合にはURIを供給している場合は問題がないというsitemap.xmlに/をポイントする、サイトマップのための標準的なルートを指定する必要があることです。 )。
例えば、私の最新のプロジェクトでは、次のルーティングを使用しています。
; ==============================
;リソースルーティング
; ==============================
resources.router.routes.www.type ="Zend_Controller_Router_Route_Hostname"
resources.router.routes.www.route =":module.example.com"
resources.router.routes.www.defaults.moduleは="デフォルト"
resources.router.routes.www.chains.index.type ="Zend_Controller_Router_Routeの"
resources.router.routes.www.chains.index.route =":コントローラ/:アクション/ *"
resources.router.routes.www.chains.index.defaults.controller ="インデックス"
resources.router.routes.www.chains.index.defaults.action ="インデックス"
resources.router.routes.sitemap.type ="Zend_Controller_Router_Routeの"
resources.router.routes.sitemap.route ="sitemap.xmlに"
resources.router.routes.sitemap.defaults.controller =インデックス
resources.router.routes.sitemap.defaults.action =サイトマップ
したがって、私のnavigation.xmlに(またはあなたが使用することにどのような設定)、あなたは、例えば、使用するルーティングを指定する必要があります
default.pro.pages.aboutUs.label ="会社案内"
default.pro.pages.aboutUs.module ="www"の
default.pro.pages.aboutUs.controller ="私たちについて"
default.pro.pages.aboutUs.action ="インデックス"
default.pro.pages.aboutUs.resourceは="www_pages"
default.pro.pages.aboutUs.route ="WWW -インデックス"
[...]カスタムコントローラ/アクションのsitemap.xmlにするためZend_Navigation、ルート要求についての私の最後のポストでの継続は、このポストはdymnamically実行/スクリプトでZend_Navigationコンテナにページを追加する方法についてです[...]
私は深刻な問題を抱えて、私はそれを解決できません:(
私はrouter.iniを持っている
resources.router.routes.sitemap.type ="Zend_Controller_Router_Routeの"
resources.router.routes.sitemap.route ="sitemap.xmlに"
resources.router.routes.sitemap.defaults.controller =インデックス
resources.router.routes.sitemap.defaults.action =サイトマップ
とbootstrap.phpの
保護機能の_initRouter()
{
$ frontController = Zend_Controller_Frontは::のgetInstance();
設定=新しいZend_Config_Iniは(。APPLICATION_PATH"/設定/ router.ini')$;
$ルータ= $ frontController -> getRouter();
$ルータ - > addConfig($ configの、"ルータ");
}
そして私はこのエラーが表示されます。
例外情報:
メッセージ:指定された無効なコントローラ(sitemap.xmlに)
リクエストのパラメータ:
配列(
=>'sitemap.xmlに""コントローラ"、
'アクション'=>'インデックス'、
'モジュール'=>'default'は、
)
それはあなたがエントリのカップルを欠落しているように思える、一致するように経路を更新してみてください。
resources.router.routes.sitemap.type ="Zend_Controller_Router_Route_Static"
resources.router.routes.sitemap.route ="sitemap.xmlに"
resources.router.routes.sitemap.controller ="インデックス"
resources.router.routes.sitemap.action ="サイトマップ"
resources.router.routes.sitemap.defaults.module ="www"の
resources.router.routes.sitemap.defaults.controller ="インデックス"
resources.router.routes.sitemap.defaults.action ="サイトマップ"
resources.router.routes.sitemap.defaults.route ="WWW -インデックス"