1

我在使用 Zend Url 助手时遇到了一些问题。据我所知,我按照手册做的一切都是正确的。我的路线是:

$route = new Zend_Controller_Router_Route_Static('client-portal/address-book/edit/:address_id',array('controller' => 'client-portal', 'action' => 'address-edit'));
$router->addRoute('client-portal-settings-address-edit', $route);

我用一个硬编码的值调用它,这样我就不会像这样传递一个空值:

$this->url(array('address_id' => 3), 'client-portal-settings-address-edit', true);

但调用的输出是:

/client-portal/address-book/edit/:addressId

所以没有参数替换。任何人都可以对此有所了解并帮助说明为什么要这样做吗?

4

1 回答 1

2

您正在使用“静态”路由类型,它适用于完全匹配的 URL(即不包含变量的 URL)。由于您的 URL 确实包含变量,因此您可能想要Zend_Controller_Router_Route

$route = new Zend_Controller_Router_Route(
    'client-portal/address-book/edit/:address_id',
    array(
        'controller' => 'client-portal',
        'action' => 'address-edit'
    )
);
$router->addRoute('client-portal-settings-address-edit', $route);
于 2013-07-29T15:09:21.240 回答