2012-12-18 44 views
1

我在Codeigniter中编写了一个侧面项目的博客。我的博客中将有三个模块。同一个博客,每个类别都有一个主题

我需要知道如何来实现,例如:

  • example.org - >显示出与单词数主题的所有帖子
  • example.org/module1 - >显示了模块1模块1只职位主题
  • example.org/module2 - >显示了模块2主题模块2只帖子
  • example.org/module3 - >显示了单词数主题单词数只帖子

任何想法如何在URL模式中处理这个问题? (路由)

+0

你不能只是渲染一个基于控制器(module1,module2等)的不同视图吗? – Quantastical

+0

但我想使用相同的控制器只是后控制器 – Roberto

+0

轻松可能的问题是,你有什么尝试过吗? – itachi

回答

3

你可以做一个简单的开关:

class Post extends CI_Controller{ 

function index($module = null) 
{ 
    switch($module) 
    { 
     case NULL: 
     case 'module3': 
     //load theme 3 
     break; 
     case 'module1': 
     //load theme 1 
     break; 
     case 'module2': 
     //load theme 2 
     break;  
    } 

} 

在你的路线:

$route['default_controller'] = "post"; 
$route['(:any)'] = "post/index/$1"; 

如何实现不存在的情况下,是你的现在,这仅仅是一个开始。此外,“:任何”路线是一个抓住所有,将抓取任何网址,所以你需要排除(通过将之前之前你想重新映射任何其他路线)或者你可以看看_remap()功能在你的控制器中使用

+0

来吧达米安,你应该等待一下,我想看到他尝试一点点.--) – itachi

+0

我知道,我同意你的意见,但我觉得10几分钟之后再停下来休息一两个月。忍受着我...... –

+0

很好的答案。我的upvote。 – itachi

0

您可以修改配置项的核心,但我认为您最好使用RewriteRule。

+1

什么?你不需要修改核心做一个简单的路由... –

相关问题