2

我想改變Zend框架從該生成URL的方式:有沒有辦法在Zend Framework中更改路由變量分隔符?

$routeString = '/section/:sectionName'; 
$route = new Zend_Controller_Router_Route(routeString, array(etc, etc...); 

...這個...

$routeString = '/section_:sectionName'; 
$route = new Zend_Controller_Router_Route(routeString, array(etc, etc...); 

注意的是,在第二個選項中間斜線在$routeString被替換爲下劃線。

當我做這個改變時,路由器停止識別路由和變量。我覺得這個框架會強加這樣的東西是很奇怪的,所以我確信我在文檔中缺少了一些東西。

乾杯!

回答

4

我想你可以用Zend_Controller_Router_Route_Regex來做。舉個例子,我會在你的application.ini路線提供設置:

resources.router.routes.section.type = "Zend_Controller_Router_Route_Regex" 
resources.router.routes.section.route = "section_(\d+)" 
resources.router.routes.section.defaults.module = yourmodule 
resources.router.routes.section.defaults.controller = yourcontroller 
resources.router.routes.section.defaults.action = youraction 
resources.router.routes.section.map.1 = "sectionName" 
resources.router.routes.section.reverse = "section/%d" 

希望這將幫助你或至少一點,你在正確的方向。

+0

完美。謝謝! – Julian 2011-03-16 16:27:41

相關問題