【问题标题】:Codeigniter loading multiple templatesCodeigniter 加载多个模板
【发布时间】:2012-02-14 04:10:52
【问题描述】:

我将这个 Template library 用于 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> 

【问题讨论】:

    标签: php templates codeigniter view


    【解决方案1】:

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

    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-&gt;template-&gt;load_main('test'); 将使用“模板”模板加载 views/test.php。

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

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

    现在$this-&gt;template-&gt;load_radical_template('test'); 将使用“radical_template”模板加载views/test.php。

    【讨论】:

    • 感谢 Stormdrain,这看起来像是一种方法,我希望我们不必添加另一种方法,因为 Jerome 的文档并未暗示这一点,但我想有时你必须做些什么你必须做...谢谢,-tim
    • 哦,但确实如此:“要轻松处理多个模板,请在 library/Template.php 中定义新的加载方法”。引用自您链接到的页面上的第 3 节 高级使用 3:多个模板 的第一句话。
    猜你喜欢
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多