テンプレート内にテンプレートをロードできるコア CI_LOADER を拡張する CI クラスを使用しています。
$this->load->view('wrapper','category',$data);
これにより、カテゴリのテンプレートがマスター テンプレート ラッパーに読み込まれます。
これは、コントローラーで、ラッパー ビューと内部ビューに供給する必要があるデータを常に入力する必要があることを意味します。したがって、すべてのクラスには、動的ナビゲーションやラッパー ビューに表示されるカテゴリなどを取り込むために必要なメソッドが含まれています。次に、内部ビューを生成しているコントローラーで、これらのメソッドを呼び出して、次のように割り当てる必要があります。出力。
私のコントローラーは次のようになります。
public function product_listing($store,$category,$product_slug) {
//These are all needed to populate the wrapper view
$data['categories'] = $this->get_categories();
$data['navigation'] = $this->navigation();
$data['cart'] = $this->get_cart();
$data['store'] = $store;
//Then this is needed for the inner view
$data['products'] = $this->model_products>get_product($store,$category,$product_slug);
$data['title'] = $data['products'][0]->product_name;
}
私の質問は、ラッパービューに必要なメソッド(および上記の他のメソッド内からのこれらのメソッドの呼び出し)で各クラスを汚染するのを避けるために、ある種のラッパークラスにこのものをロードする方法はありますか.