【发布时间】:2011-03-20 21:15:03
【问题描述】:
我正在从钩子动态生成顶级导航,并且我想根据数据库中的“永久链接”列动态添加路由。
是否有从钩子动态添加到 $route 变量的方法?
谢谢。
【问题讨论】:
标签: php codeigniter routing hook
我正在从钩子动态生成顶级导航,并且我想根据数据库中的“永久链接”列动态添加路由。
是否有从钩子动态添加到 $route 变量的方法?
谢谢。
【问题讨论】:
标签: php codeigniter routing hook
如果你有这样的 URL 结构,
site.com/controller/navigation_link_item
其中 navigation_link_item 来自数据库,然后在控制器中您可以访问 URL 的第二部分,如下所示:
$this->uri->segment(2);
然后您可以使用它来查找数据库。
根据情况和您设置 .htaccess 的方式,可能需要将辅助页面路由到主控制器。在 routes.php 中你需要添加类似这样的一行:
$route['controller/:any'] = 'controller';
这会将所有以 controller/ 开头的 URL 路由到您的控制器,以便您可以查看它是否与数据库中的页面匹配。如果传入的 URI 段没有条目,则可以给出 404 错误:
show_404();
【讨论】:
默认路由是
$this->uri->segment(3);
但您可以根据自己的要求进行设置。并取决于网址
喜欢
test.com/youtcontroller/aboutfunction
$this->uri->segment(2);
【讨论】: