четверг, 25 июня 2009 г.

Шаблонизатор для Codeigniter --- Ocular

Вот наконец нашел действительно гибкое решение для реализации вида в Codeigniter - это Ocular. Страница проекта на google code.

Установка.

1. Качаем архив.

2. Распаковываем, каталог public кладем в корень нашего сервера (там будут лежать картинки, css и javascript нашего сайта), содежимое каталога application кладем прямо в одноименный каталог нашей инсталляции codeigniter.

3. Настравиваем ocular, для этого редактируем

/application/config/ocular.php,

чего я собственно не делал.

4. Добавляем в автозагрузку codeigniter

/application/config/autoload.php

следующие строки

$autoload['libraries'] = array('Ocular');
$autoload['helper'] = array('ocular', 'url');

Принцип работы.

Как говорит автор идея взята из RubyOnRails.

1. Теперь для вывода шаблона в контроллере у нас есть один метод :

$this->ocular->render();

2. В основном шаблоне ( чаще всего это layout ) у нас теперь

$this->ocular->yield();

здесь будет вставляться шаблон, специфичный для того или иного контроллера.

3. Шаблоны теперь лежат не просто в каталоге views, раскладываются по папкам, имена которых совпадают с именами контроллеров, например мы имеем что-то вроде этого :

www.my-site.com/auth/register

понятно, что auth - это контроллер, а register - это метод в контроллере, для вида это будет выглядеть так :

/application
/views
/auth
register.php ,

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

$this->ocular->render("auth");

а файл шаблона расположить таким образом :

/application/
/views
/templates
auth.php

Продолжение следует ...

2 коммент.:

Maks комментирует...

Отличное решение, сам использую RoR и php(codeigniter)! Естественно в codeigniter такого нет, теперь есть=))

leonbobster комментирует...

Добро пожаловать на мой новый блог
http://magicseoscripts.blogspot.com/

Отправить комментарий