作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个可以响应此结构的路由器:module/controller/action/id
和 module/controller/action/page
唯一的区别是“id”或“page”。我正在使用此代码:
$routeAdmin = new Zend_Controller_Router_Route(
'administrador/:controller/:action/:id/:pg',
array(
'module' => 'administrador',
'controller' => 'index',
'action' => 'index',
'id' => 0,
'pg' => 1
),
array(
'id' => '\d+',
'pg' => '\d+'
)
);
$router->addRoute('administrador', $routeAdmin);
'http://www.domain.cl/administrador/productos/2' => (module=>administrador, controller=>productos,page=>2)
但是路由器“管理员”的结果是
'http://www.domain.cl/administrador/productos/index/0/2' (module=>administrador, controller=>productos,action=>index,id=>0,page=>2)
$this->url(array('module' => 'administrador', 'controller' => 'productos', 'action' => 'index', 'id' => 0), 'administradorId');
$this->url(array('module' => 'administrador', 'controller' => 'productos', 'action' => 'index', 'page' => 1), 'administradorPg');
$router->addRoute('routerIdentifier', $route);
)
最佳答案
我有一个类似的问题,我通过定义这样的一条路线来解决这个问题
$routeAdmin = new Zend_Controller_Router_Route(
'administrador/:controller/:action/:id/:pg',
array(
'module' => 'administrador',
'controller' => 'index',
'action' => 'index',
'id' => 0
),
array(
'id' => '\d+'
)
);
$router->addRoute('administrador', $routeAdmin);
actions
然后你需要获取
id
并检查它的某个地方
id
可能是,例如,如果您在
/administrador/events/view/1
那么你可以查看事件表,或者如果你在
/administrador/pages/view/1
然后你会寻找一个页面。
id
可以是给定 Controller 和 Action 中的事件或页面。解决此问题的唯一真正方法是显式设置
id
的类型例如你的使用
/administrador/events/view/index/id/1
/administrador/pages/view/index/page/1
$routeAdmin = new Zend_Controller_Router_Route(
// Remove the action from here and explicitly set the controller
'administrador/pages/:pg',
array(
'module' => 'administrador',
'controller' => 'pages',
// Then set the default action here
'action' => 'index',
'pg' => 0
),
array(
'pg' => '\d+'
)
);
$router->addRoute('administradorpages', $routeAdmin);
关于php - Zend_Controller_Router_Route,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4846726/
我正在尝试制作一个可以响应此结构的路由器: module/controller/action/id和 module/controller/action/page 唯一的区别是“id”或“page”。我
在现有的 Zend Framework 网站上, Controller 很少且没有模块,我需要为默认路由添加一些前缀。 例如,我目前有: /products /products/id/1 /train
我将此代码放入引导文件中 //product category url managment $defaults = array('controller'=>'productcat' , 'ac
我是一名优秀的程序员,十分优秀!