0

e コマース Web サイト (CodeIgniter、MVC パラダイム) の複数のページにショッピング カートを配置する必要があります。

すべてのコントローラーでこのウィジェットの背後にあるモデルを呼び出したくありません。

オートローダーでモデルを呼び出すことで解決できることはわかっていますが、ショッピング カートを表示したくない場合があります。

そのため、ソリューションは関連するビューでモデルを呼び出している可能性があります。しかし、MVC パラダイムを尊重しているので (私が思うに)、CodeIgniter は実際にはそのように設計されていないのではないかと心配しています。

明確でシンプルで保守可能なアーキテクチャを維持するための最良のソリューションは何ですか?

ありがとう !

4

3 に答える 3

0

フック: ショッピング カード情報を読み取り/計算するフックを作成して、 run に設定することができます'post_controller'。このようにして、フックはすべてのコントローラーの後に実行され、セッションのカート情報またはフラッシュ変数がビューからアクセスできるように設定されます。

詳細はこちら: http://ellislab.com/codeigniter/user-guide/general/hooks.html

または、ビューからヘルパーを呼び出すこともできます。これはお勧めできませんが、機能します。

カート データのクエリ コードを に配置し、cart_helper.php他の関数を呼び出すようにビューから呼び出します。

ヘルパーはその時点でロードする必要があることに注意してください。自動ロードするか、コントローラーにロードを設定してください __construct()

于 2013-04-30T16:44:15.250 に答える
0

ajaxリクエストを介してcartDataを呼び出すのはどうですか?

于 2013-04-30T11:35:29.440 に答える