使用CodeIgniter路由?

时间:2012-04-26 12:26:12

标签: php codeigniter

我认为这是一个路线问题,但我不确定。我有一个包含此URL的页面:

  

siteurl.com/kowmanger/titles/titles/edit/$id

我试图发现,当我在这个页面上时,我加载了标题页面,它说找不到页面,所以我需要告诉它$id只是一个参数,所以我可以使用它获取标题数据。

更新:

所以我决定更改我的标题控制器,以便在标题控制器内部有一个编辑和添加功能,这样他们实际上不会有单独的控制器。

所以现在我有:

  

kansasoutalwwrestling.com/kowmanager/titles/titles - 标题列表

     

kansasoutalwwrestling.com/kowmanager/titles/titles/add - addnew form

     

kansasoutalwwrestling.com/kowmanager/titles/titles/edit/$id - 编辑表格

到目前为止,我没有设置任何路线。出于某种原因,虽然我为这两个页面获得了相同的页面。

  

kansasoutalwwrestling.com/kowmanager/titles/titles/add - addnew form   (右链接网址)kansasoutalwwrestling.com/kowmanager/titles/add -   添加新表格

我需要一个路由,以便在访问add方法时显示正确的URL。

另外我需要设置一个路由,这样如果访问了正确的编辑链接,它会看到附加到url末尾的id,它会接受它,这样我就可以进行数据库查询来获取标题数据

更新:重申一下,我有一个名为titles的模块(子文件夹)。在模块内部我有一个名为titles的控制器,在控制器内部我有3个函数叫做index(),add(),edit()。

我尝试在路线上使用Chris的建议,但它没有正确路由。还想提一下,如果重要的话,我正在使用wiredesignz模块化分离框架。

还有其他想法吗?

2 个答案:

答案 0 :(得分:1)

可能的答案基于你的帖子,而不是整个结构的百分之百,但如果我不得不根据帖子猜测我会尝试这个作为我的路线首先..

$route['titles/titles/edit/(:any)'] = 'titles/titles/edit/$1';
$route['titles/titles/add'] = 'titles/titles/add';
$route['titles/titles'] = 'titles/titles';
$route['titles'] = 'titles/index';

答案 1 :(得分:0)

您是否在配置文件中使用自定义路由?

codeigniter使用的通用路由协议如下:

domain.com/controller/methode/param1/param2/param3

这就是说,你的网址

siteurl.com/kowmanger/titles/titles/edit/$id

对应于这样的事情:

class Kownmanger extends CI_Controller
{
    public function titles($titles, $action, $id)
    {

    }
}

如果你在控制器文件夹中使用子文件夹,我刚才说的会改变,你能告诉我们你的目录结构是什么吗?