Codeigniter正在加载多个模板


Codeigniter loading multiple templates

我将此模板库用于Codeigniter。

我不太明白如何使用他的例子,高级使用#3,来加载多个模板。我觉得下面的load_main()函数缺少第二个模板的加载:

function load_main($view = '', $view_data = array(), $return = FALSE)
{
$this->set('nav_list', array('Home', 'Photos', 'About', 'Contact'));
$this->load('template', $view, $view_data, $return);
    //shouldn't this be there?=> $this->load('template2', $view, $view_data, $return);
}

我说得对吗?如果是的话,你能给出一些关于控制器和视图文件外观的提示吗?

以下是作者对控制器的看法:

$this->template->set('nav', 'About');
$this->template->set('title', 'About me');
$this->template->load_main('about');  

和模板视图:

<html>
<body>
    <div id="contents"><?= $contents ?></div>
    <div id="footer">Copyright 2008</div>
<ul class="navigation">
<?php foreach($nav_list  as $i => $nav_item): ?>
    <li class="<?= ($nav == $nav_item ? 'selected' : '')?>">
        <?= anchor($nav_item, $nav_item) ?>
    </li>
<?php endforeach ?>
</ul>
</body>
</html> 

我不认为它缺少了什么,但有点不清楚它是如何工作的。。。

function load_main($view = '', $view_data = array(), $return = FALSE)
{
    $this->set('nav_list', array('Home', 'Photos', 'About', 'Contact'));
    $this->load('template', $view, $view_data, $return);
}

所以这个方法使用"模板"模板并设置一些导航内容。$this->template->load_main('test');将使用"template"模板加载views/test.php。

因此,要使用不同的模板,请在模板文件(显然还有模板)中创建一个新的加载方法

function load_radical_template($view = '', $view_data = array(), $return = FALSE)
{
    $this->load('radical_template', $view, $view_data, $return);
}

现在$this->template->load_radical_template('test');将使用"radict_template"模板加载views/test.php。