相同的博客,每个类别的一个主题

时间:2012-12-18 18:28:08

标签: php codeigniter routing themes

我正在为Codeigniter的一个副项目编写一个博客。我的博客中将有三个模块。

我需要知道如何做,例如:

  • example.org - >显示所有包含module3主题的帖子
  • example.org/module1 - >仅显示module1主题为
  • 的module1的帖子
  • example.org/module2 - >仅显示module2主题为
  • 的module2的帖子
  • example.org/module3 - >仅显示module3主题
  • 的module3的帖子

有任何想法如何在URL架构中处理这个问题? (路由)

2 个答案:

答案 0 :(得分: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";

如何实现不存在的案例由您自己决定,这只是一个开始。此外,“:any”路线是一个全能的,它将抓取任何网址,因此您需要排除(通过将放置在之前的任何其他路线)重新映射。或者您可以查看要在控制器中使用的_remap()函数

答案 1 :(得分:0)

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