Как подключить Smarty к проекту на фреймворке Codeigniter 2, а также использование шаблонизатора в выводе и генерации HTML в контроллерах?

Фреймворк CodeIgniter — это прекрасный инструмент для разработки уникального функционала «с нуля». Это «почти чистый php». У него очень низкий порог вхождения, т.е. в том, как эта штука работает, можно разобраться очень быстро. Тем не менее, все мы привыкли работать с тем, что нам удобно и понятно.

Я бы не сказал, что стандартные средства вывода контента на CI плохи или неудобны. Так сложилось, что я много времени провожу, «ковыряя» сайты на CMS, которые используют шаблонизатор Smarty.

Можно много спорить о том, на чем лучше и как лучше разрабатывать интернет-приложения. Не буду вдаваться в подробности, я просто расскажу как использовать Smarty при разработке на CodeIgniter.

Smarty в архитектуре CI — это библиотека, соответственно и application/libraries/ .

В итоге в этой папке (если конечно у вас чистая установка фреймворка или вы не использовали других библиотек) будут находиться папка со Smarty и файл Smrt.php — который будет все подключать.

Конечно можно назвать файл и класс по-другому, не Smrt, это уже как удобно. Только не Smarty, он уже есть.

Папки должны быть обязательно созданы, а также иметь права на запись.

После этого в контроллерах фреймворка мы можем забыть о выводе шаблонов через view.

Теперь для вывода контента можно делать вот так:

А содержимое файла index.tpl, который как мы помним должен лежать в папке, которую мы прописывали в template_dir («frontend/theme/templates/skin/»), будет такое:

И результатом будет всем известная строка, черным по белому!

И еще один момент. Так как выводить контент придется практически постоянно, то можно библиотеку прописать в autoload, в папке с конфигурационными файлами.

Надеюсь материал был полезен! Спасибо!

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