【发布时间】:2011-07-03 19:50:59
【问题描述】:
我正在使用 CakePHP 1.3。我有一个产品模型。在 DB 表中,有 id 和 slug 字段。
如果我有一个产品是 id:37 和 slug:My-Product-Title,我希望产品的 URL 是:
products/37/My-Product-Title
代替标准:
产品/视图/37
我创建了一条如下所示的路线:
Router::connect(
'/products/:id/:slug',
array('controller' => 'products', 'action' => 'view'),
array('pass' => array('id'), 'id' => '[0-9]+')
);
现在我可以去http://server/products/37/My-Product-Title,它会把我带到正确的地方。
但是如何获得反向路由以在$HtmlHelper->link 中自动构建正确的 URL?
当我使用时:
echo $html->link(
'Product 37',
array('controller'=>'products', 'action' => 'view', 37)
);
它仍然输出标准的products/view/37 url。
【问题讨论】:
-
我知道这不是直接相关的,但如果你还没有看过的话,我建议你看看 pseudocoder 的 cakephp 书 (pseudocoder.com/archives/…) 中关于 slug 的部分。
标签: php model-view-controller cakephp url-routing slug