Tuyến yêu cầu sitemap.xml để điều khiển tùy chỉnh / hành động

Bởi Watkin Lloyd Steven , Thứ Tư 06 tháng 1 2010 00:13

Để 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 .

4 hồi đáp để "yêu cầu lộ cho sitemap.xml để điều khiển tùy chỉnh / hành động"

  1. Steven Watkin Lloyd cho biết:

    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"

  2. [...] 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 /

  3. Walter nói:

    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',
    )

    • Steven Watkin Lloyd cho biết:

      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"

Để lại một trả lời













Chủ đề của bức tranh toàn cảnh Themocracy

5 khách online
4 khách, 1 chương trình, 0 thành viên
Max khách truy cập hôm nay: 13 lúc 12:36 giờ UTC
Trong tháng này: 26 tại 2011/07/05 12:35 giờ UTC
Trong năm nay: 130 tại 28-03-2011 10:40 UTC
Tất cả thời gian: 130 vào 28-03-2011 10:40 UTC