我正在使用codeigniter构建一个教程系统,并希望实现以下URL结构:
问题是,当我想使用前两种类型的URL时,我需要将参数传递给控制器的索引函数.第一个参数是可选类别,第二个参数是可选的教程ID.我已经做了一些研究,我贴过,所以我发现我可以添加喜欢的路线tutorials/(:any)
,但问题是,这条线路将通过add
使用最后的URL(/教程/加)时,作为参数了.
我有什么想法可以实现这一目标吗?
Aid*_*das 13
您的路由规则可以按此顺序:
$route['tutorials/add'] = "tutorials/add"; //assuming you have an add() method
$route['tutorials/(:any)'] = "tutorials/index"; //this will comply with anything which is not tutorials/add
Run Code Online (Sandbox Code Playgroud)
然后在您的控制器的index()方法中,您应该能够确定是否正在传递类别或教程ID!
Dec*_*bal 10
我确实认为重新映射必须对您的问题更有用,以防您想要向控制器添加更多方法,而不仅仅是"添加".这应该做的任务:
function _remap($method)
{
if (method_exists($this, $method))
{
$this->$method();
}
else {
$this->index($method);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16133 次 |
最近记录: |