ขอเส้นทางสำหรับการ sitemap.xml ไปยังตัวควบคุมที่กำหนดเอง / การดำเนินการ

โดย , วันพุธ 6 มกราคม 2010 12:13

เพื่อให้การร้องขอโดยตรงสำหรับ / sitemap.xml ตัวควบคุมที่กำหนดเองและการกระทำของคุณใน กรอบ Zend เพียงแค่เพิ่มการประยุกต์ใช้ต่อไปนี้ใน application.ini หรือ config ไฟล์ทางเลือกของคุณ (เช่นผมใช้ navigation.ini) :

 resources.router.routes.sitemap.route ="sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = ดัชนี
 resources.router.routes.sitemap.defaults.action sitemap =

รหัสตัวอย่างสำหรับการแสดงผลที่สามารถเห็นได้โดยการสร้างการกระทำในการควบคุมที่เหมาะสม (เช่น Sitemap ของฉันได้อยู่ในการควบคุมการดัชนีการดำเนินการเว็บไซต์) :

 < PHP
 IndexController ชั้น
     ขยาย Zend_Controller_Action
 {
     / **
      * การแสดงผลแผนผังเว็ปไซต์ที่ขึ้นอยู่กับการติดตั้ง Zend_Navigation
      * /
     sitemapAction ฟังก์ชั่น (มหาชน)
     {
    	 echo $ this -> View -> นำทาง () --> แผนผังเว็ปไซต์ ();
    	 $ this -> View -> เค้าโครง () -- disableLayout> ();
    	 $ this -> _helper -> viewRenderer -> setNoRender (true);
     }
 }

เว็บไซต์ได้อย่างรวดเร็วและง่ายที่จะสร้างขึ้นโดยใช้ Zend_Navigation เป็นรวดเร็วกวดวิชาที่ดี (และโดยทั่วไปมีประโยชน์มากสำหรับ tutorials Zend Framework) เป็น Zend Casts -- การสร้างแบบไดนามิกเมนูแผนผังและ breadcrumbs .

4 Responses to"ขอเส้นทางสำหรับ sitemap.xml ไปยังตัวควบคุมที่กำหนดเอง / การกระทำ"

  1. สิ่งหนึ่งที่ผมลืมพูดถึงคือการที่คุณยังจะต้องระบุเส้นทางมาตรฐานของคุณสำหรับการ sitemap ของคุณมิฉะนั้น URL ทั้งหมดที่จะชี้ไปที่ / sitemap.xml ถ้าคุณใช้ Zend_Navigation_Page_Mvc (ถ้าคุณกำลังจัดหา URIs จะไม่มีปัญหา )

    ตัวอย่างเช่นโครงการล่าสุดของฉันจะใช้เส้นทางต่อไปนี้

    ; ==============================
    ; เส้นทางทรัพยากร
    ; ==============================
    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 ="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 = ดัชนี
    resources.router.routes.sitemap.defaults.action sitemap =

    ดังนั้นใน navigation.xml ของฉัน (หรือสิ่งที่ config ที่คุณตัดสินใจที่จะใช้), คุณจะต้องระบุเส้นทางที่จะใช้เช่น

    default.pro.pages.aboutUs.label ="รายละเอียด บริษัท "
    default.pro.pages.aboutUs.module ="www"
    default.pro.pages.aboutUs.controller ="เกี่ยวกับ - เรา"
    default.pro.pages.aboutUs.action ="index"ที่
    default.pro.pages.aboutUs.resource ="www_pages"
    default.pro.pages.aboutUs.route ="www ดัชนี"

  2. [...] ความต่อเนื่องในการโพสต์ล่าสุดของฉันเกี่ยวกับ Zend_Navigation ขอเส้นทางสำหรับ sitemap.xml ไปยังตัวควบคุมที่กำหนดเอง / การดำเนินการโพสต์นี้เป็นเรื่องเกี่ยวกับ dymnamically เพิ่มหน้าเพื่อบรรจุ Zend_Navigation ที่รันไทม์ / script [...]

  3. วอลเตอร์ says :

    ฉันมีปัญหาร้ายแรงฉันไม่สามารถแก้ปัญหาได้ : (

    ฉันมี 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 sitemap =

    และ bootstrap.php

    _initRouter ฟังก์ชันป้องกัน ()
    {
    $ frontController = Zend_Controller_Front : : getInstance ();
    $ config = new Zend_Config_Ini (APPLICATION_PATH'/ config / router.ini'.);
    เราเตอร์ $ = $ frontController -> getRouter ();
    $ เตอร์ -> addConfig ($ config','เตอร์');
    }

    และฉันได้รับข้อผิดพลาดนี้

    ข้อมูลข้อยกเว้น :

    ข้อความ : ตัวควบคุมที่ไม่ถูกต้องที่ระบุ (sitemap.xml)

    ค่าคำขอ :

    อาร์เรย์ (
    'ควบคุม'=>'sitemap.xml',
    'การกระทำ'=>'ดัชนี',
    'โมดูล'=>'เริ่มต้น',
    )

    • ก็ดูเหมือนว่าคุณหายไปคู่ของรายการที่พยายามปรับปรุงเส้นทางของคุณเพื่อให้ตรงกับ :

      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 ดัชนี"

ปล่อยให้ตอบกลับ













ธีมโดยพาโนรามา Themocracy

4 ผู้เข้าชมออนไลน์ขณะนี้
1 แขก, 3 บอท, 0 สมาชิก
ผู้เข้าชมสูงสุดวันนี้ : 18 ที่ 12:41 UTC
เดือนนี้ : 35 ที่ 2011/09/07 04:27 UTC
ปีนี้ : 130 ที่ 28-03-2011 10:40 UTC
เวลาทั้งหมด : 130 ที่ 28-03-2011 10:40 UTC