我正在使用CakePhp开发网站,我接下来会遇到网址问题。
在我的类别和子类别页面的应用中,我需要有下一个网址:
问题是这种网址格式与任何控制器/操作网址匹配,我不能只对所有类别/子类别网址进行硬编码,因为它们有很多,而且它们是动态。
如何解决这个问题?
修改
我发现了这种方法http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp,但是可能存在一些不需要在db,cache等中进行额外检查的东西?
答案 0 :(得分:1)
最快/最简单的方式:
// routes.php
Router::connect('/category/:category/:subcategory',
array('controller'=>'categories', 'action'=>'view'),
array('pass' => array('category', 'subcategory')));
// CategoryController/view
public function view($category = 'default', $subcategory = null) {
// your logic here
}
// links
$this->Html->link('View PHP >> Tutorials', array('action'=>'view',
'category'=>'php', 'subcategory'=>'tutorials'));
// output
<a href="/category/php/tutorials">View PHP >> Tutorials</a>
通过在开始时介绍/category/
,您不必担心为每个其他控制器/操作提供路由(否则每个请求都会被发送到您的类别控制器。