动态路由代码点火器

时间:2016-02-19 07:49:50

标签: codeigniter dynamic routing multisite

我构建了一个多站点cms,它具有灵活的路由功能,可以深入三级。 因此,人们应该能够将文档制作为产品,页面,博客。 还有类别,但我认为在路由中,只显示产品的第一类,页面,博客等

控制器正在捕捉页面slug并正在管理其余部分 虽然一切正常,但我想知道是否会有更好的选择。我已经看到了一些将slu存储存在数据库中的解决方案, 并在路线中抓住他们。但我不相信这是必要的吗?

//太棒了 //产品/ awesome
//产品/类别/真棒

{{1}}

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';
相关问题