| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Помогите написать систему шаблонов |
| Автор: drLans 11.8.2006, 00:43 | ||||||
| Народ, хочу написать свою систему шаблонов (в качестве самообразования хотя бы). Так что готовые не предлагать. В чем суть проблемы. Например у меня есть файл шаблона:
Написал так же парсер на PHP, котоый грузит себе этот шаблон, подставляет вместо {что-то} осмысленный текст. Например после прогона вышеуказанного мною шаблона получается html страница:
В общем статические шаблоны мой шаблонизатор прекрасно обрабатывает и я счастлив. Однако проблемы начинаются, когда нужно разместить динамический текст на странице (как у автора этой темы). Если непонятно, приведу пример. Например на главную страницу нужно вывести список новостей. Само собой, количество новостей не задано жестко - их может быть хоть 0, хоть 10. Поэтому тут нельзя обойтись такой конструкцией:
Причем новости у меня содержаться в таблице, а атрибуты таблицы определяет дизайнер, так что нельзя просто <table>...</table> добавлять в PHP коде - все должно быть определено в шаблоне. Но как? Шаблон статический, а код динамический! Подобный пример можно привести и в меню - элементов меню может быть от одного до бесконечности.. Вопрос: как реализовать отображение подобных динамически данных в статическом шаблоне? |
| Автор: szz 11.8.2006, 04:02 | ||
| Вообще-то после уймы разных фреймворков, которые я писал и участвовал в разработке оных, мы пришли к тому, что лучше всего использовать... PHP. РНР - сам по себе изначально - язык шаблонов. А если все-таки хочешь сам дойти до этого, то, конечно, пиши шаблонизатор. То, что ты описал - это циклический вывод однотипного массива называется. Делают его кто как хочет, вот например вариант:
как пропарсить такое, думаю, сам без труда поймешь - если сам написал первую часть, которую ты описал |
| Автор: drLans 11.8.2006, 12:19 |
| Спасибо, сейчас буду думать.. Понять то я это могу, а вот реализовать в коде.. Сомневаюсь.. Придется регулярные выражения учить.. |
| Автор: drLans 11.8.2006, 14:49 |
| В общем, если кому надо: http://php.ru/forum/viewtopic.php?t=1372&postdays=0&postorder=asc&start=0 |