1

Codeigniterのサイドプロジェクトのブログをコーディングしています。私のブログには3つのモジュールがあります。

私が行う方法を知る必要があること、例えば:

  • example.org->module3テーマのすべての投稿を表示
  • example.org/module1->module1をテーマにしたmodule1の投稿のみを表示
  • example.org/module2->module2テーマのmodule2の投稿のみを表示
  • example.org/module3->module3をテーマにしたmodule3の投稿のみを表示

URLスキーマでこれに対処する方法について何か考えはありますか?(ルーティング)

4

2 に答える 2

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」ルートはすべてのURLを取得するキャッチオールであるため、除外する必要があります(再マップする他のルートの前に配置するか、 _remap()を確認できます)。コントローラで使用する関数

于 2012-12-18T18:57:46.610 に答える
0

CIのコアを変更することはできますが、RewriteRuleを使用する方がよいと思います。

于 2012-12-18T18:46:58.763 に答える