2014-04-04 37 views
0

我将$数据传递到每个页面上的一个视图,并有一个自动加载到位。的观点之前,我有以下几点:codeigniter头文件模板加载模型函数

$data['category'] = $this->productModel->listCategories(); 

我试图找到一种方法,我不必有这样的每个页面视图控制器上。我试过将代码放在header.php模板中,但是我得到未定义的变量类别。

里面的头部模板,我有:

<?php foreach ($category as $cat) : ?> 
      <li><a href="/products/<?php echo url_title($cat->ProductCategory, '-', TRUE); ?>"><?php echo $cat->ProductCategory; ?></a></li> 
     <?php endforeach; ?> 

完全难住了!

我需要它在每个页面上运行,因为它在标题中。

回答

1

把这一行放在控制器的构造函数中,并在任何视图中引用它在同一控制器中的函数加载。

$ query_result = $ this-> productModel-> listCategories();

将查询结果分配给全局变量,并在您工作的控制器的任何视图中使用$ this-> load-> vars($ query_result)。