2012-02-14 5 views
1

私はyii開発には新しくありません。yiiビューヘルパーでコードを配置する場所を決定するのが難しい

私のシステムでは、サブメニューシステムを作成しようとしています。サブメニューはコントローラ に基づいて表示されます。サブメニューは別のビューになり、メインレイアウトでロードします。

メインレイアウトからサブメニュービューをロードするロジックを分離したいと考えています。しかし、私はどこにそれを書くか分からない。

YiiにはRoRのようなビューヘルパーがありますか?または、コンポーネントとして記述する必要がありますか?

ご提案ください。

ありがとうございました。

答えて

2

私はこのためのコンポーネントを作成し、コントローラから関連するメニューオプションを使用してそれをインスタンス化します。すべてのコントローラに存在する場合は、BaseControllerでサポートを実装し、子コントローラにアイテムの配列を設定するだけです。

1

デフォルトで生成されたYiiアプリケーションには、protected/components/Controller.phpに親コントローラがあります。レイアウトで追加のパラメータにアクセスする必要がある場合は、パブリックプロパティをControllerに追加し、子コントローラで設定し、ビュー/レイアウトファイルで使用します。

あなたのケースでは、この親コントローラに、レンダリングされたサブメニューを返す関数を追加し(例:renderPartial呼び出し)、レイアウトからこの関数を呼び出します。

関連する問題