我正在使用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;
}
我的问题是,有没有办法在某种包装类中加载这些东西,以避免使用方法(以及从上面的其他方法中调用这些方法)污染每个类,这是包装器视图所需要的