2011-01-06 4 views
0

Только что начал использовать Codeigniter (вчера), и мне интересно, какие функции шаблонов используются пользователями?CodeIgniter: советы по использованию шаблонов

Возможно ли создать представление и загрузить его только тогда, когда это необходимо?

Спасибо,

Джоунси

+1

Дубликат http://stackoverflow.com/questions/3957000/what-codeigniter-template-library-is-best. – treeface

ответ

1

Идея шаблонирования заключается в создании общей компоновки с общим заголовком. нижний колонтитул и т. д., а затем просто «тело», которое изменяется на каждую страницу.

На самом базовом уровне, вы можете просто включить верхний и нижний колонтитулы внутри каждого из ваших взглядов, как это:

load-> вид («заголовок»); ?>

Это - моя страница.

load-> view ('footer'); ?>

Это может быть хорошо, но приступить к созданию приложения любого реального размера, и вы найдете проблемы.

Есть миллион способов делать шаблоны, но способ, которым я пользовался годами, - это Template library. Он видел меня через 20-30 проектов различных проектов и используется многими, так что вы знаете, что он опробован и протестирован.

+0

ссылка на ссылку - 404. фактическая ссылка: https://github.com/philsturgeon/codeigniter-template –

0

Можно создать представление и просто загрузить его whenerever необходимо?

Да. Это типичное поведение структуры MVC, а не только в CI. Ваши представления представляют собой уровни представления, которые должны быть в основном лишены логики/обработки.

+0

Так сказать, у меня было представление под заголовком. Я могу просто загрузить заголовок в другое представление? – iamjonesy

+0

Да, точно. Обычно это делается.В основном использовать в ваших представлениях. Представление такое же, как стандартный файл PHP, за исключением того факта, что вы никогда не обращаетесь к ним напрямую. :) –

+1

@iamjonesy: Нет, вам не нужно использовать синтаксис 'include' в ваших представлениях. Если вы хотите загрузить представление в другое представление, используйте загрузчик просмотра CodeIgniter: '$ this-> load-> view ('header')'. – treeface

0

Другой способ сделать это следующее.

В контроллере, загрузите шаблон как так

$template_data = array('contains', 'data', 'for', 'template', 
         'while', 'the', 'specific' => array('may', 'contain', 
         'data', 'for', 'the', 'view_file')); 
$this->load->view('template/needed.php'); 

В шаблоне, теперь у вас есть $template_data массив, чтобы заполнить его [при необходимости]. Теперь вы можете загружать определенный вид, как так

<div id="yield"> 
    <?php echo $this->view('specific/viewer.php', $template_data['specific']); ?> 
</div> 

Примечание:

  1. template/needed.php должен находиться в папке application/views.
  2. Файл specific/viewer.php должен также быть в вашем views директории (т.е. путь к этому файлу должен быть чем-то вроде WEB_ROOT/application/views/specific/viewer.php)

Красоты этого является то, что любой вид файл может быть использован в качестве шаблона при необходимости ,