在Zend創建自定義的URL視圖助手

史蒂芬勞埃德沃特金斯 ,星期四2010年1月28日下午11點零一

這看似簡單,但我敲打我的頭試圖創建一個自定義視圖中的URL助手在Zend框架 我路由設置的獲取模塊從子域使用,所以我不能用一個簡單的硬編碼的URL。

但基本上援引的實例前端控制器及其可能抓住路由器和組裝網址。 組裝是函數中使用的視圖助手。 網址是從數組建立模塊,控制器,動作等,其次是第二個參數要使用的路由。 該代碼如下:

  <?PHP的
 / **
  *視圖助手類,它返回的網址鏈接
  *
  * @作者勞埃德沃特金斯
  * @自25/01/2010
  * @包ViewHelper
  * @分裝 LinksUrl
  * /
類 Pro_View_Helper_LinksUrl
    延伸Zend_View_Helper_Abstract
 {
	 / **
	  *返回類的網址鏈接
	  *
	  * @ $類參數 Doctrine_Record
	  * @參數字符串$模塊
	  * @參數字符串$控制器
	  * @參數字符串$行動
	  * @返回字符串網址
	  * /
    公共職能 linksUrl($分類,$模塊 ='www的,
         $控制器='三通',$行動 ='指數')
     {
    	 $路由器= Zend_Controller_Front::getInstance()方法 - >“getRouter();

        返回$路由器>裝配(陣列(
             '模塊'=>“$模塊,
             '控制器'=>“$控制器,
             '行動'=>“$行動,
             '分類'“=>”{$品類>顯示} - {$分類 ->名稱}“,
         ),'www的索引');
     }
 } 

另一種方式做,這是調用 Zend_View_Helper_Url本身並調用 URL方法(如果你想使用助手本身)。 這可以通過使用下面的代碼:

  <?PHP的
 / **
  *視圖助手類,它返回的網址鏈接
  *
  * @作者勞埃德沃特金斯
  * @自25/01/2010
  * @包ViewHelper
  * @分裝 LinksUrl
  * /
類 Pro_View_Helper_LinksUrl
    延伸Zend_View_Helper_Abstract
 {
	 / **
	  *返回類的網址鏈接
	  *
	  * @ $類參數 Doctrine_Record
	  * @參數字符串$模塊
	  * @參數字符串$控制器
	  * @參數字符串$行動
	  * @返回字符串網址
	  * /
    公共職能 linksUrl($分類,$模塊 ='www的,
         $控制器='三通',$行動 ='指數')
     {
    	新Zend_View_Helper_Url鏈接 = $();

        返回$鏈接>網址(陣列(
             '模塊'=>“$模塊,
             '控制器'=>“$控制器,
             '行動'=>“$行動,
             '分類'“=>”{$品類>顯示} - {$塞}“,
         ),'www的索引');
     }
 } 

這兩個幾乎相同。 不是很難的事情做了框架,但是能趕上你了;)

一種反應,以“創建自定義的URL在Zend視圖助手”

  1. 瑞安莫熱 說:

    你知道你可以只用現有的視圖對象通過擴展 Zend_View_Helper_Abstract調用現有 URL的幫手,而不是建立一個新的。
    只要使用$ this ->“查看->網址(...);

給一個答复













全景主題 Themocracy

現在 4訪客在線
3位客人,一機器人,0位會員
最大遊客今日:14日上午7時 34分聯合技術
本月:26日2011年7月5日上午12點 35分聯合技術
今年:130 28-03-2011下午10時 40聯合技術
所有時間:130 28-03-2011下午10時 40聯合技術