我正在使用一个 CI 类,它扩展了核心 CI_LOADER 允许我在模板中加载模板:
$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;
}
我的问题是,有没有办法在某种包装类中加载这些东西,以避免用包装视图所需的方法(以及从上述其他方法中调用这些方法)污染我的每个类。