Codeigniter загружает несколько шаблонов - PullRequest
0 голосов
/ 14 февраля 2012

Я использую эту библиотеку шаблонов для 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> 

1 Ответ

2 голосов
/ 14 февраля 2012

Я не думаю, что он что-то упустил, но немного неясно, как это работает ...

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'); будет загружать views / test.php с использованием шаблона "template".

Таким образом, чтобы использовать другой шаблон, создайте новый метод загрузки в файле шаблона (и шаблон, очевидно)

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

Теперь $this->template->load_radical_template('test'); будет загружать views / test.php, используя шаблон "radius_template".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...