HTTP/1.0 200 OK Accept-Ranges: none Content-Location: http://www.evilprofessor.co.uk/239-creating-url-in-zend-custom-view-helper/ Content-Type: text/html; charset=UTF-8 Date: Fri, 13 May 2011 05:16:10 GMT X-Frame-Options: ALLOWALL Set-Cookie: PREF=ID=3788dca729fe4f77:TM=1305263770:LM=1305263771:S=L3NfgmqoINWYGCxj; expires=Sun, 12-May-2013 05:16:11 GMT; path=/; domain=translate.googleusercontent.com X-Content-Type-Options: nosniff Server: translation Expires: Fri, 13 May 2011 05:16:10 GMT Cache-Control: private Evilprofessor.co.uk »Creació d'URL a l'Auxiliar de Zend vista personalitzada

Creació d'URL personalitzat en ajudant Veure Zend

Per Watkin Lloyd Steven , dijous 28 gener 2010 23:01

Això pot semblar simple, però jo estava colpejant el meu cap intentant crear una adreça URL en un ajudant de vista personalitzada en Zend Framework . Tinc la configuració d'enrutament que s'obté el mòdul de la sub-domini en ús, així que no podria utilitzar un URL codificada senzilla.

Bàsicament, sinó que invoca una instància del controlador frontal de la seva possible agafar el router i muntem una url. Ensamble és la funció utilitzada en l'ajudant de vista. La URL es construeix sobre un conjunt de mòdul, controlador, acció, etc, seguit d'un segon paràmetre de la ruta a utilitzar. El codi és el següent:

  <? Php
 / **
  * Veure ajuda que us retorna URL d'enllaç de la categoria
  *
  * @ Autor Lloyd Watkin
  * @ Des 2010.01.25
  * @ Paquet ViewHelper
  * @ Subpaquete LinksUrl
  * /
 classe Pro_View_Helper_LinksUrl
     s'estén Zend_View_Helper_Abstract
 {
	 / **
	  * Torna enllaç URL categoria
	  *
	  * @ Param $ Doctrine_Record categoria
	  * @ Param cadena $ mòdul
	  * @ Param $ cadena de comandament
	  * @ Param cadena $ acció
	  * @ Cadena retornada Url
	  * /
     linksUrl funció pública ($ categoria, $ module = 'www',
         $ Control = 'enllaços', $ action = 'index')
     {
    	 $ Router = Zend_Controller_Front:: getInstance () -> getRouter ();

         return $ router-> muntar (array (
             'Module' => $ mòdul,
             'Controller' => $ controlador,
             'Acció' => $ action,
             "Categoria" => "{id $ categoria>} - {$ nom de la categoria->}",
         ), 'Www-index');
     }
 } 

Una altra forma de fer-ho és invocar Zend_View_Helper_Url si mateix i truqui al mètode Url (si voleu utilitzar el propi ajudant). Això es pot fer utilitzant el següent codi:

  <? Php
 / **
  * Veure ajuda que us retorna URL d'enllaç de la categoria
  *
  * @ Autor Lloyd Watkin
  * @ Des 2010.01.25
  * @ Paquet ViewHelper
  * @ Subpaquete LinksUrl
  * /
 classe Pro_View_Helper_LinksUrl
     s'estén Zend_View_Helper_Abstract
 {
	 / **
	  * Torna enllaç URL categoria
	  *
	  * @ Param $ Doctrine_Record categoria
	  * @ Param cadena $ mòdul
	  * @ Param $ cadena de comandament
	  * @ Param cadena $ acció
	  * @ Cadena retornada Url
	  * /
     linksUrl funció pública ($ categoria, $ module = 'www',
         $ Control = 'enllaços', $ action = 'index')
     {
    	 link = $ Zend_View_Helper_Url nou ();

         return $ link-> url (array (
             'Module' => $ mòdul,
             'Controller' => $ controlador,
             'Acció' => $ action,
             "Categoria" => "{id $ categoria>} - {$ llimac}",
         ), 'Www-index');
     }
 } 

Tots dos gairebé idèntics. No és una cosa difícil de fer en el marc, però pot sorprendre;)

One Response to "Creació d'URL a Helper Zend vista personalitzada"

  1. Ryan Mauger ha dit:

    Vostè sap que podria haver utilitzat la vista d'objectes disponibles mitjançant l'ampliació de Zend_View_Helper_Abstract per cridar a la url d'ajuda existents, en lloc de crear un de nou.
    Només ha de fer servir $ this-url-> Vista-> (...);

Deixa una resposta













Panorama Tema per Themocracy

6 visitants en línia
2 persones, contra els robots d'abril, 0 membres
Nombre màxim de visitants d'avui: 23 a les 04:19 UTC
Aquest mes: 26 a 2011.07.05 12:35 UTC
Aquest any: 130 en 2011.03.28 22:40 UTC
Tot el temps: 130 en 2011.03.28 22:40 UTC