/ 액션 컨트롤러에 사용자 정의로 향하는 요청에 대해 sitemap.xml에

스티븐 로이드 Watkin 2010 12시 13분 오전 수요일 1월 6일

에 대한 요청 명령에 있음 / sitemap.xml에 귀하의 사용자 정의 컨트롤러 및 행동 젠드 프레임 워크 ) 지원 navigation.ini을 내가 사용하는 예를 들어 간단히 추가합니다 다음에 application.ini 파일이나 구성 대체 (:

 resources.router.routes.sitemap.route = "sitemap.xml에"
 resources.router.routes.sitemap.defaults.controller = 색인
 resources.router.routes.sitemap.defaults.action = 사이트맵

출력의 예제 코드는 해당 컨트롤러에서 작업을 생성하여 볼 될 수 있습니다 (예 : 내 Sitemap 색인 컨트롤러 사이트맵 행동에 달려있다) :

 <의 PHP를
 수업 IndexController
     Zend_Controller_Action가 확장
 {
     / **
      * 찔려서에게 Zend_Navigation에서 설치 프로그램을 기반으로 Sitemap을
      * /
     공용 함수 sitemapAction ()
     {
    	 에코 $이 ->보기 -> 탐색 () -> 사이트맵 ();
    	 $이 ->보기 -> 레이아웃 () -> disableLayout ();
    	 $이 -> _helper -> viewRenderer -> setNoRender (사실);
     }
 }

Sitemap을 사용 할 수 빠르고 쉽게 생성할 수 Zend_Navigation을 , 훌륭한 빠른 튜토리얼 (그리고 일반적으로 매우 자습서 프레임 워크에 유용 젠드)입니다 젠드 캐스트 - 동적 빵부스러기를 만드는 메뉴 Sitemap 및 .

"사용자 지정 컨트롤러 / 액션에 sitemap.xml에 대한 루트 요청"4 답변

  1. 제가 깜빡하고 한가지 당신은 또한 당신이 (당신이 URI를 제공하는 경우 문제가되지 않습니다 Zend_Navigation_Page_Mvc를 사용하는 경우, 그렇지 않으면 모든 URL이 / sitemap.xml에 가리 킵니다 귀하의 Sitemap에 대한 표준 경로를 지정해야한다는 ).

    예를 들어 최근의 프로젝트는 다음과 같은 라우팅을 사용합니다 :

    ; ==============================
    ; 라우팅 리소스
    ; ==============================
    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에 (또는 config를 사용하기로 결정이든), 당신은 예를 들어, 사용하는 라우팅을 지정해야합니다

    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가 색인"

  2. 약 dymnamically 런타임 / 스크립트 [...]에서 Zend_Navigation 컨테이너에 페이지를 추가하는 사용자 지정 컨트롤러 / 액션에 sitemap.xml에 대한 Zend_Navigation에 대한 나의 마지막 게시물, 국도 요청에 지속 [...],이 게시물입니다

  3. 월터가 말합니다 :

    저는 심각한 문제가 있는데, 그것을 확인할 수 없습니다 : (

    내가 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 ();
    $ config를 = 새로운 Zend_Config_Ini (APPLICATION_PATH '/ 설정 / 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 = "색인"
      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가 색인"

답변을 남겨주세요













파노라마 테마로 Themocracy

8 방문자가 온라인으로 지금
6 인용, 2 봇, 0 회원
최대 방문자 오늘 : 17시 세계 협정시 오후 9시 40분
이번 달 : 26시 2011년 7월 5일 12시 35분가 세계 협정시 오전
올해 : 130에서 28-03-2011 세계 협정시 오후 10시 40분
전체 시간 : 130시 28-03-2011 세계 협정시 오후 10시 40분