2013-07-02 70 views
0

在應用程序\模塊\ ADMIN \佈局\腳本\ layout.phtmlZend框架這個 - > URL得到相同的頁面,但不同的URL不同的URL

<?php echo $this->url(array('action'=>'logout','controller'=>'user','module'=>'admin'),null,true);?> 

當我參觀zfmul /公/管理員,美食/,它返回

/zfmul/public/admin-cate/logout 

,但是當我參觀zfmul /公/管理/類別,它返回

/zfmul/public/admin/user/logout 

和兩個url呈現給相同的模塊,相同的控制器,相同的動作,我想知道爲什麼它會重演不同的結果?

我迪迪一些CONFIGS中的application.ini,

resources.router.routes.admincategories.route = "admin-cate/:action/:id" 
resources.router.routes.admincategories.defaults.module = "admin" 
resources.router.routes.admincategories.defaults.controller = "categories" 
resources.router.routes.admincategories.defaults.action = "index" 
resources.router.routes.admincategories.reqs.action = "save|edit|index|new" 
resources.router.routes.admincategories.defaults.id = "1" 
resources.router.routes.admincategories.reqs.id = "\d+" 

回答

0

當您使用$this->url,你實際上是使用function url庫/的Zend /搜索/助手/ Url.php,其第一行是是:

$router = Zend_Controller_Front::getInstance()->getRouter(); 

既然你聲明的自定義admincategories路線,你現在有2個訪問這些特定的模塊/控制器/動作:

  • 默認 - 可通過zfmul/public/admin/categories訪問;
  • 定製 - 可通過zfmul/public/admin-cate/訪問。

根據您使用訪問的URL,該$router變量值將發生相應的變化,並因此將$this->url通話爲您所遇到的結果。

下面是關於做題,可以幫助您解決這種行爲的幾個引用: