Tuyến yêu cầu sitemap.xml để điều khiển tùy chỉnh / hành động
Để yêu cầu trực tiếp cho / sitemap.xml đến một bộ điều khiển tùy chỉnh và hành động của bạn trong Zend Framework ứng dụng chỉ cần thêm như sau trong thay thế của bạn application.ini hoặc tập tin cấu hình (ví dụ tôi sử dụng navigation.ini):
resources.router.routes.sitemap.route = "sitemap.xml" resources.router.routes.sitemap.defaults.controller = chỉ số resources.router.routes.sitemap.defaults.action = sitemap
Ví dụ mã cho xuất ra có thể được xem bằng cách tạo ra một hành động trong bộ điều khiển thích hợp (ví dụ như sơ đồ trang web của tôi nằm ở bộ điều khiển chỉ số, sơ đồ trang web động):
< php lớp IndexController mở rộng Zend_Controller_Action { / ** * Hiển thị hình ảnh một sơ đồ trang web dựa trên thiết lập Zend_Navigation * / chức năng công cộng sitemapAction () { echo $ this view->-> chuyển hướng () -> sơ đồ trang web (); $ Điểm này->-> bố trí () -> disableLayout (); $ Này _helper->-> viewRenderer-> setNoRender (true); } }
Sơ đồ trang web có thể dễ dàng nhanh chóng và được tạo ra bằng cách sử dụng Zend_Navigation , một lớn nhanh chóng hướng dẫn (và nói chung là rất hữu ích cho Zend Framework hướng dẫn) là Zend Gọi ra - Dynamically tạo ra một menu một sơ đồ trang web và breadcrumbs .


















































Một điều tôi quên đề cập đến là bạn cũng sẽ cần phải xác định lộ trình tiêu chuẩn của bạn cho sơ đồ trang web của bạn, nếu không tất cả các URL trỏ đến / sitemap.xml nếu bạn sử dụng Zend_Navigation_Page_Mvc (nếu bạn đang cung cấp URI sẽ không có một vấn đề ).
Ví dụ dự án mới nhất của tôi sử dụng định tuyến sau đây:
; ==============================
; Resource tuyến
; ==============================
resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.www.route = ": module.example.com"
resources.router.routes.www.defaults.module = "mặc định"
resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.www.chains.index.route = ": điều khiển /: hành động / *"
resources.router.routes.www.chains.index.defaults.controller = "index"
resources.router.routes.www.chains.index.defaults.action = "index"
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = chỉ số
resources.router.routes.sitemap.defaults.action = sitemap
Do đó trong navigation.xml của tôi (hoặc bất cứ cấu hình bạn quyết định sử dụng), bạn sẽ cần phải xác định định tuyến để sử dụng, ví dụ:
default.pro.pages.aboutUs.label = "Giới thiệu"
default.pro.pages.aboutUs.module = "www"
default.pro.pages.aboutUs.controller = "about-us"
default.pro.pages.aboutUs.action = "index"
default.pro.pages.aboutUs.resource = "www_pages"
default.pro.pages.aboutUs.route = "www-index"
[...] Một sự tiếp nối về bài đăng cuối cùng của tôi về Zend_Navigation, Tuyến yêu cầu sitemap.xml để điều khiển tùy chỉnh / hành động, bài này là về dymnamically thêm vào trang vào một container Zend_Navigation tại [...] thời gian chạy script /
Tôi có vấn đề nghiêm trọng, tôi không thể giải quyết nó: (
Tôi đã router.ini
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.defaults.controller = chỉ số
resources.router.routes.sitemap.defaults.action = sitemap
và bootstrap.php
bảo vệ chức năng _initRouter ()
{
$ FrontController = Zend_Controller_Front:: getInstance ();
$ Config = new Zend_Config_Ini (APPLICATION_PATH '/ config / router.ini'.);
$ Router = $ frontController-> getRouter ();
$ Router-> addConfig ($ config, 'router');
}
và tôi nhận được lỗi này:
Ngoại lệ thông tin:
Thông báo: không hợp lệ quy định điều khiển (sitemap.xml)
Yêu cầu các thông số:
array (
'Sitemap.xml' => 'điều khiển',
'Hành động' => 'chỉ',
'Module' => 'mặc định',
)
Có vẻ như bạn đang thiếu một vài mục, cố gắng cập nhật các tuyến đường của bạn để phù hợp:
resources.router.routes.sitemap.type = "Zend_Controller_Router_Route_Static"
resources.router.routes.sitemap.route = "sitemap.xml"
resources.router.routes.sitemap.controller = "index"
resources.router.routes.sitemap.action = "đồ"
resources.router.routes.sitemap.defaults.module = "www"
resources.router.routes.sitemap.defaults.controller = "index"
resources.router.routes.sitemap.defaults.action = "đồ"
resources.router.routes.sitemap.defaults.route = "www-index"