2011-05-17 127 views
1

class ContactusController extends Zend_Controller_Action結果url/contactus。我想更改url/contact-us。我如何在url中添加「 - 」。請幫我找出解決方案更改網址zend

回答

2

您可以通過添加Zend_Router路由來完成。

$router = $this->_front->getRouter(); 

$router->addRoute('contactus', 
    new Zend_Controller_Router_Route('contact-us', 
     array(
      'controller' => 'contactus', 
      'action'  => 'index', 
      'category' => null 
     ) 
    ); 
); 

可以閱讀更多關於它從http://framework.zend.com/manual/en/zend.controller.router.html

+0

方式太複雜這樣一個簡單的任務恕我直言。 – regilero 2011-05-17 12:58:49

+0

@regilero路由器是一種很好的方式,我從來沒有說過它容易學習,但是一旦你瞭解到了重命名控制器並在_forward中進行任何修改的最簡單方法,如果你已經申請了_redirect方法:) 。 – 2011-05-17 15:16:56

+0

好吧,它實際上取決於你是否處於開發的開始階段,還是在舊的代碼庫上工作。使用' - '爲所有需要的url添加路由器「例外」規則,將在調度器上添加大量處理任務,實際上可以由默認路由器規則管理。這是一個解決方法,它不是在URL中使用' - '的經典方式。 – regilero 2011-05-17 15:34:50

2

而不是

class ContactusController extends Zend_Controller_Action 

使用駝峯名稱:

class ContactUsController extends Zend_Controller_Action 

U,而不是u

對於yout文件名,應該是controller/ContactUsController.php。然後url是按慣例contact-us,contact-us/action