Creando URL View helper Custom Zend

Por Watkin Steven Lloyd , xoves 28 de xaneiro de 2010 11:01 pm

Isto pode parecer sinxelo, pero eu estaba batendo a cabeza intentando crear un URL nun auxiliar de visualización personalizada no Zend Framework . Eu teño a configuración de enrutamento que recibe o módulo do sub-dominio en uso, entón eu non podería usar un simple URL codificado.

Basicamente, pero invocando unha instancia do controlador de fronte a súa posible incorporarse o router e montar unha url. Monte é a función usada no view helper. A URL é construída a partir dunha matriz de módulo, o controlador, acción, etc, seguido por un segundo parámetro da ruta que emprega. O código é o seguinte:

  <? PHP
 / **
  * Ver auxiliar que retorna URL categoría de enlace
  *
  * @ Author Lloyd Watkin
  * @ Since 25/01/2010
  paquete * @ ViewHelper
  subpackage * @ LinksUrl
  * /
 Pro_View_Helper_LinksUrl clase
     esténdese Zend_View_Helper_Abstract
 {
	 / **
	  * Volta URL categoría de enlace
	  *
	  * @ Paran $ Doctrine_Record categoría
	  * @ Paran cadea $ módulo
	  * @ Paran cadea $ controlador
	  * @ Paran cadea $ action
	  * @ Return cadea Url
	  * /
     linksUrl función pública ($ categoría, $ module = 'www',
         $ Controller = 'links', $ action = 'index')
     {
    	 $ Router = Zend_Controller_Front:: getInstance () -> getRouter ();

         return $ router-> montar (array (
             "Módulo" => $ módulo,
             'Controller' => $ controlador,
             'Action' => $ acción,
             'Categoría' => "{$ id categoría>} - {$ nome da categoría->}",
         ), "Índice www ');
     }
 } 

Outra forma de facer isto é para chamar Zend_View_Helper_Url si e chamar o método de URL (se quere usar o axudante de si). Isto pódese facer empregando o seguinte código:

  <? PHP
 / **
  * Ver auxiliar que retorna URL categoría de enlace
  *
  * @ Author Lloyd Watkin
  * @ Since 25/01/2010
  paquete * @ ViewHelper
  subpackage * @ LinksUrl
  * /
 Pro_View_Helper_LinksUrl clase
     esténdese Zend_View_Helper_Abstract
 {
	 / **
	  * Volta URL categoría de enlace
	  *
	  * @ Paran $ Doctrine_Record categoría
	  * @ Paran cadea $ módulo
	  * @ Paran cadea $ controlador
	  * @ Paran cadea $ action
	  * @ Return cadea Url
	  * /
     linksUrl función pública ($ categoría, $ module = 'www',
         $ Controller = 'links', $ action = 'index')
     {
    	 Zend_View_Helper_Url $ ligazón = new ();

         return $ url> link (array (
             "Módulo" => $ módulo,
             'Controller' => $ controlador,
             'Action' => $ acción,
             'Categoría' => "{$ id categoría>} - {$ Slug}",
         ), "Índice www ');
     }
 } 

Ambos son practicamente idénticas. Non é unha cousa difícil de facer no cadro, pero pode incorporarse vostede para fóra;)

Unha resposta para "Creando URL helper Ver Zend Custom"

  1. Vostede sabe que podería usar a vista de obxecto dispoñibles, ampliando Zend_View_Helper_Abstract para chamar o helper url existente, en vez de crear un novo.
    Non necesitará empregar $ url this-> view-> (...);

Deixe unha resposta













Panorama Tema por Themocracy

5 visitantes en liña agora
2 persoas, 3 bots, 0 membros
Max visitantes hoxe: 15 ás 02:40 UTC
Este mes: 26 en 2011/07/05 12:35 UTC
Este ano: 130 en 28-03-2011 22:40 UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC