2011-06-28 7 views
3

閲覧しているページのカテゴリに応じてコンテキストメニューを作成しようとしているウェブページがあります。カテゴリがanimalsの場合、セグメントベースのURLにはanimalが含まれます。 http://www.mywebbie.com/livingthings/display/category/animals。コンテキストメニューを構築するにはコントローラからビューにデータを送信するか、ビュー内にロジックがありますか?

、私は、列subcat_idsubcat_nameと私のデータベーステーブルsubcategoryにアクセスする必要がcat_idcat_idanimalsのそれに対応するすべての行を選択します。

コントローラからモデルメソッドを使用してデータベースにアクセスし、サブカテゴリ名を含む配列をビューに渡す必要がありますか?または、サブカテゴリの配列を返すモデルメソッドをロードするコードがある場合は、ビュー内ですべてを実行する必要がありますか?

Btw、私はPHPフレームワークCodeigniterを使用しています。

答えて

3

はい、コントローラはモデルと通信してデータを処理しますが、ビューはデータの提示を担当します。

コントローラからのデータを最も簡単な形式で利用できるようにします。単純な配列と言います。

+0

Hehe .. ZendFrameworkでしか動作しませんでしたが、CIを使用していることが分かりました。そのため、お気に入りのフレームワークで使用する前に、デザインパターンを理解する必要があります。 – Phliplip

3

何らかのActiveRecordまたはORMがある場合は、カテゴリ(?)エンティティにgetAllSubCats()メソッドを追加し、カテゴリをループするときに呼び出します。

上記が意味をなさない場合:ビューはデータベースが存在することを知っていないので、質問に答えてもらうにはコントローラーで行います。あるいは、モデルでフェッチを行い、結果をコントローラーに戻すことをお勧めします。

関連する問題