我构建了一个多站点cms,它具有灵活的路由功能,可以深入三级。 因此,人们应该能够将文档制作为产品,页面,博客。 还有类别,但我认为在路由中,只显示产品的第一类,页面,博客等
控制器正在捕捉页面slug并正在管理其余部分 虽然一切正常,但我想知道是否会有更好的选择。我已经看到了一些将slu存储存在数据库中的解决方案, 并在路线中抓住他们。但我不相信这是必要的吗?
//太棒了
//产品/ awesome
//产品/类别/真棒
{{1}}
答案 0 :(得分:0)
您可以使用不同的方法抽象变体。喜欢而不是如果没有其他,你可以有3种不同的方法生成不同的slugs。
public function LoadPage($page)
{
}
public function LoadProduct($product, $page)
{
}
public function LoadBlog($blog, $product, $page)
{
}
// Your routes could refer to individuals then
// routes.php
// one level
$route['(:any)'] = 'site/site/LoadPage/$1';
// two levels deep
$route['(:any)/(:any)'] = 'site/site/LoadProduct/$1/$2';
// max of three levels deep
$route['(:any)/(:any)/(:any)'] = 'site/site/LoadBlog/$1/$2/$3';