我正在使用一个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;
}

我的问题是,是否有任何方法可以在某种包装器类中加载这些东西,以避免使用包装器视图所需的方法(以及从上述其他方法中对这些方法的调用)污染我的每个类。

  ask by Mike Rifgin translate from so

本文未有回复,本站智能推荐: