0

これはおそらく初心者の質問だと思いますが、私はCodeIgniterの初心者です:)

ここに問題があります。ストア用にカテゴリとサブカテゴリ(動的に生成)を作成しようとしています。主な問題は、コントローラーの_remap関数を使用してメインカテゴリにさまざまなオプションを設定できることです。しかし、もっと深くしようとすると、同じ_remap関数が適用され、そこで立ち往生します。

たとえば、メインカテゴリのuriはhttp://project.com/store/fruits/ですが、サブカテゴリの場合はもちろん、http://project.com/store/fruits/applesです。

3番目のセグメントに別のビューを適用し、それでも_remap関数を使用してメインカテゴリ(果物)を制御できるようにしたい。

1つのコントローラーを何度も使用したいのですが、すべてのサブカテゴリ(数百、偽装)に同じ関数コンテンツをコピーして貼り付けるのはおかしいと思います。

それを行う方法はあるかもしれませんが、方法がわかりません...ここで助けてください!:)

/ロブ

4

2 に答える 2

0

jcoの努力に感謝しますが、実際には、_remap()関数が私のニーズに非常にうまく機能していることがわかりました。

$first_levelと$next_levelsの2つの引数を使用してpublic_remap()関数を作成し、これらの$next_levelsの情報を指定してからすべてを制御しました。

于 2012-08-21T14:23:03.707 に答える
0

_remap関数が必要な理由がわかりません。「ストア」がコントローラーの場合、ストア内の関数として各トップレベルカテゴリを設定できます。(残りのURIを介して)各関数に渡されるのはサブカテゴリであり、それらをキャプチャしてデータベースで検索し、必要な情報を取得できます。このようなもの:

Function fruits(){
  $sub1 = $this->uri->segment(3); // this will be apples, etc...
  ...
  // if it's empty - call viewX
  // else call db lookup for $sub1 data here and pass to viewY 
}

または....htaccessを使用した場合は、次のように再ルーティングできます。

RewriteCond %{REQUEST_FILENAME} store.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^store/([a-zA-Z]+)/([a-zA-Z]+)$ store/someFunction/cat=$1&subcat=$2 [L]

これは説明のためのものです。ご使用の環境で機能するように変更する必要があります。

于 2012-08-11T23:34:28.380 に答える