2011-06-24 16 views
0

私はCodeIgniterでブログサイトを作っています。最初のURIセグメントを動的カテゴリとして使いたいと思います。CodeIgniterでこのURIスキームをどのように達成できますか?

したがって、これらのURIのすべて: http://example.com/category1/some-post http://example.com/category2/some-post http://example.com/category3/some-post

は、すべてのそれはからカテゴリを見つけるだろう「カテゴリ」コントローラに行くだろうデータベース。

私は許可しながら、どのように私はこのURIスキームを達成することができます

など管理者、ユーザー、として、その後、私の他の静的コントローラのすべてが動作しません$routes['(:any)'] = 'categories';と、もちろん、この簡単に十分に達成することができます他の静的ページはルーティングされませんか?

答えて

0

各カテゴリの特定のルートを手動で作成しない限りできません。例えば

$route['php'] = 'categories'; 
$route['java'] = 'categories'; 
0

あなたがワードプレスを見れば、彼らは/category/でカテゴリを開始し、あなたはおそらくそのようにラウンドやる必要がありますので、すべてのページが何か他のものです。

0

フランソワン氏によれば、各カテゴリのルートを作成する必要があります。これは、わずかに以下のように単純な配列を簡素化することができます。

$categories = array('cat1','cat2','etc...'); 

foreach($categories as $cat) 
{ 
    $routes["$cat/(:any)"] = "category/$cat/\$1" 
} 

可能な代替あなたはセグメントがカテゴリであるかどうかを確認するために、データベースを照会して、要求を指示することがあった前のコントローラのフックを使用することです適切に。

カテゴリが多数ある場合や頻繁に追加されたり更新されたりする場合は、2番目のオプションをお勧めします。それ以外の場合は、単純な配列の管理はあまり悪くないです。

0

もう1つの方法は、ルートに静的コントローラをすべて宣言することです。

関連する問題