Zend URL帮助程序和自定义路由?

时间:2010-12-29 22:58:41

标签: zend-framework routes urlhelper

我无法弄清楚这一点。你如何使用自定义路线的网址助手?

我的users控制器中有一个名为edit的方法,我有一个自定义路由,因此可以通过domain.com/settings调用它(而不是domain.com/users/edit )

当我以这种方式使用url帮助时:

<li><a href="<?php echo $this->url(array('controller' => '', 'action' => 'settings')); ?>">Settings</a></li>

它在主页面上运行良好,但是一旦我在设置页面上,url helper生成的每个其他链接都链接到当前url(domain.com/settings)

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

解决方案是为自定义路线添加名称。

$router->addRoute(
    'settingsPage', //this is the name
     new Zend_Controller_Router_Route('settings',
                                        array('controller' => 'users',
                                              'action' => 'edit'))
);

当您在前端使用它时,请添加您的路线名称:

<li><a href="<?php echo $this->url(array('controller' => 'users', 'action' => 'edit'), 'settingsPage', true); ?>">Settings</a></li>