codeigniter头模板加载模型函数

时间:2014-04-04 18:45:12

标签: codeigniter templates foreach views

我将$ data传递到每个页面的视图中并自动加载。在观看之前,我有以下内容:

$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 个答案:

答案 0 :(得分:1)

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

$ query_result = $ this-&gt; productModel-&gt; listCategories();

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