2011-03-20 141 views
0

我从钩子动态生成顶级导航,我想根据数据库中的“永久链接”列动态添加路由。Codeigniter - 钩子动态路由

有没有办法从钩子动态添加到$ route变量中?

谢谢。

回答

0

如果你有一个URL结构,这样,

site.com/controller/navigation_link_item

其中navigation_link_item从数据库中来,那么控制器内,你可以访问URL的这样的第二部分:

$this->uri->segment(2); 

然后,您可以使用它来查找数据库。

根据情况以及如何设置.htaccess,可能需要将辅助页面路由到主控制器。在routes.php文件,你需要添加类似这样一行:在开始

$route['controller/:any'] = 'controller'; 

这将路由所有的URL与控制器/到控制器,所以你可以看到,如果它在你的数据库相匹配的页面。如果你没有为传入URI段的条目,你可以给一个404错误:

show_404(); 
0

默认路由是

$this->uri->segment(3); 

但是你可以设置按您的要求。并且依赖于网址

test.com/youtcontroller/aboutfunction

$this->uri->segment(2);