【发布时间】:2014-02-09 21:16:08
【问题描述】:
我从一个星期开始就发现了 Zend Framework,并且能够开发一个轻量级的购物网站。我现在面临一个问题:一条路线让我遇到Invalid controller specified (admin) 错误。
这个链接...
<a href="<?php echo $this->url(array('id' => $brand->getId()), 'adminDelBrand');?>">
<span class="supprimer">Supprimer</span>
</a>
...与这条路线有关的...
routes.adminDelBrand.type = "Zend_Controller_Router_Route"
routes.adminDelBrand.route = "admin/delete/brand/:id"
routes.adminDelBrand.defaults.module = "Cart"
routes.adminDelBrand.defaults.controller = "Admin"
routes.adminDelBrand.defaults.action = "delbrand"
routes.adminDelBrand.defaults.id = 0
routes.adminDelBrand.reqs.id = \d{1,5}}
...抛出Invalid controller specified (admin) 错误。
我在Cart_AdminController 中的delbrandAction() 如下:
class Cart_AdminController extends Zend_Controller_Action
{
// more actions...
public function delbrandAction()
{
$brandMap = new Cart_Model_Mapper_Brand();
$brand = $brandMap->find($this->getRequest()->getParam('id'));
$error = 'success';
$message = 'La marque « '.$brand->getName().' » bien été supprimée';
try {
$brandMap->delete($brand);
} catch (Exception $e) {
$message = 'Erreur : la marque « '.$brand->getName().' » n\'a pas pu être supprimée';
$error = 'error';
$this->_helper->bounce(array('b' => $brand->getId()));
}
$this->_helper->toast($message, $error);
$host = 'http://localhost';
$this->_redirect($host.$this->view->url(array(), 'adminIndex'));
}
}
你知道这里发生了什么吗?
非常感谢。
编辑:
我有相同的删除类别的动作模式,它工作得很好。
【问题讨论】:
-
您确定需要
Cart_部分在您的Cart_AdminController类名称中吗? -
好像
adminDelBrand路由不匹配,所以使用了默认路由。 1) 生成的 id 是否适合\d{1,5}}? 2) 你的模块启用了吗(参考application.ini)? -
@i-- > 很确定是的 :) @maxivanov > 非常感谢您在
d{1,5}}指出我的错误(太多了)。
标签: php zend-framework controller routes