[off] Помогите объяснить... полный лол)

.des.

Поставил пиво кому надо ;-)
maxru ни одного веского довода. Почему для шаблонов с кодом проблематично сделать визуальный редактор, а для шаблонов с псевдотегами не проблематично?
чем это удобнее <container>id=MyContainer</container> верстальщику чема абсолютно идентичный код php? и что вообще делают эти таги?

Кстати, еще один довод в пользу кода php, тем что существуют легкие способы его проверить и сразу сообщить об ошибке, в случае самописных движков, придется писать еще код валидации. Мелочь, а приятно.
 

maxru

МИФИст
потому что псевдотэги я на лету согу заменять уже отрендеренными результатами. Плюс шаблон выглядит "естественнее".

Про "таблицу-зебру". Ну в любом случае придётся изменять код либо в странице, либо в макросе. И сидеть и ковыряться в коде, перемешанном с хтмл, вроде никак не проще, чем в структурированном коде. Кроме того никто не запрещает написать макрос, который выводит таблицу в зависимости от входных параметров.

Про код валидации: конечно проще засобачить все места, где могут быть проблемы и выкидывать "хню" на страницу, чем корректно обработать ошибку.

container - это контейнер для вложенных шаблонов.
Обьясняю. Пусть мы работаем с шаблоном archive.news.main.tpl

Парсер обрабатывает имя и видит, что данный шаблон имеет родительские шаблоны:
main.tpl->news.main.tpl->archive.news.main.tpl
(нелогично, правда? 8) )

Пример шаблонов
main.tpl
<html>
<body>
[macro]id=menubar;menuid=4763[/macro]
[container]id=C_BODY[/container]
</body>
</html>

news.main.tpl
[C_BODY]
Новости::
[macro]id=news;dir=last[/macro]
[container]id=C_ARCHIVE[/container]
[/C_BODY]

archive.news.main.tpl
[C_ARCHIVE]
Архив новостей:
[macro]id=newsArchive[/macro]
[/C_ARCHIVE]

Процесс процесинга 8) :

парсер проходит 1й шаблон (main)
а) заменяет макрос на меню с ид=4763
б) видит контейнер
.1) сдивигает указатель шаблонов на 1
.2) парсит дочерний шаблон, заменяет макрос на результат
.3) видит контейнер
..1) сдвигает указатель шаблонов на 1
..2) проходит 3й шаблон, сдвигает указатель на -1 и возвращает результат парсинга.
.4) завершение парсинга 2 шаблона, сдвиг указателя на -1 и возврат результата
в) подстановка результата в родительский шаблон

Все, можно выдавать данные.

Ну в общем, спорить не буду, какой шаблон использовать - дело вкуса. Мне нравятся такие 8)
 

.des.

Поставил пиво кому надо ;-)
и эти люди запрещают мне ковыряться в носу?
когда мне приходится работать с проектами php код+html это в большинстве случаев менее трудозатратно и нервоемко, чем самописные полноценные CMS или просто шаблонизаторы.

-~{}~ 23.07.06 23:34:

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

maxru

МИФИст
Уважаемый .des., я не в курсе, как это называется 8)
Этот велосипед я придумал сам 8)
И я уже 100 раз писал, что по поводу шаблонов спорить вроде бессмыссленно, пусть каждый пишет так, как ему удобно.

А что за классические примеры?
 

antivir

Новичок
Пример шаблонов
main.tpl
<html>
<body>
[macro]id=menubar;menuid=4763[/macro]
[container]id=C_BODY[/container]
</body>
</html>

news.main.tpl
[C_BODY]
Новости::
[macro]id=news;dir=last[/macro]
[container]id=C_ARCHIVE[/container]
[/C_BODY]
какой ужас..

Чем это лучше кода на PHP: http://phpclub.ru/paste/index.php?show=1319

я не могу понять. Конформизм - вещь очень плохая.
 

maxru

МИФИст
.des., действительно похоже 8)
antivir ВНИМАТЕЛЬНО прочитай предыдущие посты (хотя бы мои)
 
Сверху