Php 具有自定义路由的SocialEngine模块

Php 具有自定义路由的SocialEngine模块,php,zend-framework,.htaccess,routes,socialengine,Php,Zend Framework,.htaccess,Routes,Socialengine,我正在为SocialEngine软件包开发一个模块,我希望能够指定多个自定义路由 目前,我正在编辑模块目录中的Bootstrap.php文件,如下所示: class Courses_Bootstrap extends Engine_Application_Bootstrap_Abstract { protected function _initRouter(){ $fc = Zend_Controller_Front::getInstance(); $ro

我正在为SocialEngine软件包开发一个模块,我希望能够指定多个自定义路由

目前,我正在编辑模块目录中的Bootstrap.php文件,如下所示:

class Courses_Bootstrap extends Engine_Application_Bootstrap_Abstract
{
    protected function _initRouter(){
        $fc = Zend_Controller_Front::getInstance();
        $router = $fc->getRouter();
        $router->addRoute('courses', new Zend_Controller_Router_Route('courses/activity/:activity_id', array('module' => 'courses', 'controller' => 'index','action' => 'activity')));
        $router->addRoute('courses', new Zend_Controller_Router_Route('courses/course/edit/:course_id', array('module' => 'courses', 'controller' => 'course','action' => 'edit')));
        $router->addRoute('courses', new Zend_Controller_Router_Route('courses/course/create/:course_id', array('module' => 'courses', 'controller' => 'course','action' => 'create')));

        return $router;
    }

}
但是,当我指定多于1个route时,所有routes都会停止传入自定义变量(course\u id或activity\u id)

我正在检索变量,如下所示

$course_id = $this->getRequest()->getParam("course_id");
我从这里开始采取这种方法;

非常感谢,


安迪

你必须给他们起不同的名字:

    $router->addRoute('courses_activitiy', new Zend_Controller_Router_Route('courses/activity/:activity_id', array('module' => 'courses', 'controller' => 'index','action' => 'activity')));
    $router->addRoute('courses_course', new Zend_Controller_Router_Route('courses/course/edit/:course_id', array('module' => 'courses', 'controller' => 'course','action' => 'edit')));
    $router->addRoute('courses_create', new Zend_Controller_Router_Route('courses/course/create/:course_id', array('module' => 'courses', 'controller' => 'course','action' => 'create')));

将它们添加到manifest.php中如何?同样的答案也适用-它们在配置数组中需要不同的
名称。