Для кого мы делаем шаблоны?

Фанат

oncle terrible
Команда форума
вот это "а затем идет текст шаблона аля блитз " мне непонятно.
за чем идет? и перед чем?
"сначала в шаблоне идет" некая обработка. а потом идет... текст шаблона. как это может быть? сначала в шаблоне что-то работает, а только потом этот шаблон появляется.
может, это я такой тупой, но и со второго раза не понял.
 

WP

^_^
Думаю это я плохо объяснил, прошу прощенья.
В PHP-скрипте мы делаем
$tpl->assign(...);
$tpl->display('view.tpl');

view.tpl содержит в начале файла набор {$tpl->iterate()} на основе объявленных данных из скрипта. Затем идет к примеру
{{ BEGIN test }}
{{ escape($a) }}
{{ BEGIN sub }}
sub_text
{{ BEGIN sub2 }}
sub2_text
{$a}
{{ END sub2 }}
{{ END sub }}
{{ END test }}
Всё это компилируется (1 раз) в набор вызовов и циклов и на выходе получаем HTML-код.
Если человек в состоянии исправить логику iterate - исправляет, если он этого пугается и хочет исправлять только HTML - его право.
Также можно заменить (в компиляторе) преобразование подобных конструкций в PHP-код вызовом модуля Blitz.
 

MiksIr

miksir@home:~$
Автор оригинала: WP
Говорю как человек измученный нарзаном.
Шаблонизатор надо юзать тот который будет удобен тем людям которые заняты в проекте.
Можно добавить "и отвечающий задачам проекта разработки" и на этом завершить флейм =)
 

Фанат

oncle terrible
Команда форума
действительно, все в одном шалабоне.
теперь понял. кажется...
 

atv

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

у меня компонент module_load
Похоже, пора определиться с понятиями. По моему, компонент и модуль совсем не одно и тоже.

верстальщик легко поймет конструкцию и залезет в news.tpl
Имею несчастье работать сейчас с Symfony, где принято огромное количество соглашений по именованию файлов, классов, методов и переменных, которые, к тому же, задокументированны в разных местах. Шаг влево, шаг вправо от туториала, доводит до белого каления, так как многое происходит неявно, опираясь на эти соглашения.

В том же XSLT, шаблон для news может лежать в том же файле, и не надо далеко ходить.

Кстати, в XSLT неявным является только алгоритм преобразования. И всё! И именно за это его многие не любят. Так что нужно стремиться, что бы неявности было как можно меньше, только в крайней необходимости.
 

cDLEON

Онанист РНРСlub
Кстати...
чтоб бекдоров не навставляли
Отличное заявление. Как будто я не смогу засунуть бэкдор в любой другой скрипт. Один хрен делается всё это через ФТП. Потому что ПХП прав, попросту, не хватит на изменение шаблонов.
 

WP

^_^
cDLEON
Жжошь. Что такое PHP-права? Это просто пользователь от какого запускается PHP, можно хоть от рута запустить. Не говоря уже о том что хватит и nobody для изменения файла у которого права 7 для world :)
И что мешает дать верстальщику фтп на папку templates? Я так и делаю.
atv
> Необоснованное заявление...
Попробуй заставить верстальщика писать на XSLT :) Обучить Блитзу/Квики НАМНОГО проще.
> Похоже, пора определиться с понятиями. По моему, компонент и модуль совсем не одно и тоже.
В терминологии шаблонизатора это именно компонент, модуль это просто сгусток PHP-кода служащий для какой-то цели и являющийся контроллером.
 

cDLEON

Онанист РНРСlub
WP
Я знаю, что такое права ПХП. Это и имелось ввиду.

Не говоря уже о том что хватит и nobody для изменения файла у которого права 7 для world
Серьёзно? Если ты делаешь на шаблоны 0777, то вот и ищи свои "супер-пупер" выходы из ситуации.
И что мешает дать верстальщику фтп на папку templates?
К этому я и веду. Не зачем на шаблоны выставлять 777
 

WP

^_^
cDLEON
Ты вел к другому. К тому что можно будет поставить бекдор всё равно, а я говорю что можно ограничить доступ по ftp/ssh лишь на папку с шаблонами.
По поводу прав 7 для world я просто опроверг твоё заявление, это не значит что я так делаю.
 

fixxxer

К.О.
Партнер клуба
об xslt положительно отзываются две категории людей
1) те, кому не приходилось разгребать чужие xslt
2) программисты Яндекса, которым оно, конечно, замечательно - плюнул xml-ем, а уж армия xslt-шников пускай возится, они привыкшие :)
 

fixxxer

К.О.
Партнер клуба
кстати, вот буквально вчера услышал безоговорочную фразу "xslt - говно" от модератора местного раздела "PHP & XML". :))))
 

cDLEON

Онанист РНРСlub
WP
Меняй верстальщиков, если есть подозрение на то, что они засунут туда бэкдор.
Вообще, в нашем с тобой диалоге, я вёл к 3-ём вещам:
1) Не зачем бояться бэкдоров.
2) Не зачем выдумывать псевдоязык на ПСЕВДОязыке. И бегать по всему форуму и кричать какой йа гиниальный.
3) Шаблоны с правами на запись из скрипта - ЗЛО.
 

WP

^_^
> Меняй верстальщиков, если есть подозрение на то, что они засунут туда бэкдор.
Подозрение есть всегда. Либо они либо те у кого есть доступ к их компьютеру. Тем более если грамотно использовать бекдор, это даже не вскроется. Я предпочитаю сделать невозможным неправомерный доступ к информации из шаблонов и спать спокойно не дергая судьбу за пхп-тег.
1) Если ты делаешь страницу для васи пупкина - да, а если банковскую систему - надо.
2) Не псевдо, а самый обычный язык.
3) Просто бессмысленно, а не зло.

-~{}~ 27.10.07 21:51:

> И бегать по всему форуму и кричать какой йа гиниальный.
Чувак, предлагаю тебе набраться опыта и думать перед тем как что-то говоришь. Смешно выглядит.
 

AmdY

Пью пиво
Команда форума
Автор оригинала: fixxxer
кстати, вот буквально вчера услышал безоговорочную фразу "xslt - говно" от модератора местного раздела "PHP & XML". :))))
Просто нужно научиться его правильно готовить ;) Человек, который мне помог в изучении XSLT, говорил, что XSLT опредил своё время и был прав.
Я смог исправить(вернее дополнить) чужой xslt шаблон через 2 часа после знакомства с XSLT, чтобы научиться делать аналоги "echo if foreach" достаточно 1 часа и проблеммы возникают не у верстальщиков, а у программистов, которым нужно следить за валидностью.
cDLEON, не трожь поделку WP, я недавно посадил начинающего программиста на Квики, и шаблонизатор оправдал своё имя. Чел мгновенно научился пользоваться шаблонизатором и при этом отпало большинство вопросов по формам.
 

cDLEON

Онанист РНРСlub
WP
Смешно здесь только одно. В любой теме, где ты присутствуешь присутствуют слова "а вот в майом квики...."
Гордиться можно и молча.
Чувак, предлагаю тебе набраться опыта
Предлагаю не судить по себе.
AmdY
Я его поделку не трогаю 8) А вот его 5-ять копеек про свою поделку практически во все темы, начинает наколять...
 

HraKK

Мудак
Команда форума
AmdY
А на Смарти не пробывал? Нечего что там апи весь со смарти?
Самый большой плюс это производительность. Правда вот дебажить на квики нереально :( Поэтому, я проекты делаю на смарти а в продакшен запуска квики.

cDLEON
есть такое)

AmdY
XSLT мы не говорим о сложности его. Я лично не вижу там нечего сложно, поговорим о целесообразности?
 

AmdY

Пью пиво
Команда форума
Так по мне фишка квики именно в работе с формой, а по мне без расшираемости смарти мне не удобно, потому юзаю смартю, а не квики (квики посмотрел поверхностно, часть касающуюся форм, дальше не лез, поэтому не знаю как у него с расшираемостью - пре- и пост- фильтры, пользовательские функции).
А про целесообразности XSLT я писал в своём превом посте этого сабжа
 

dark-demon

d(^-^)b
> в шаблоне пишу {module_load name='news' as_module=1}
> при этом module_load инклюдит нужный PHP-скрипт, тот работает с СУБД, ассигнит данные и показывает шаблон news.tpl.
> При этом верстальщик легко поймет конструкцию и залезет в news.tpl если надо.

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

WP

^_^
cDLEON
Далеко не в любой, а только в тех где это поможет, а таких целый ряд.
> Гордиться можно и молча.
При чем здесь гордость?
> Предлагаю не судить по себе.
Я сужу по твоим сообщениям. Зря ты говоришь в таком тоне.
HraKK
> Правда вот дебажить на квики нереально
Наоборот, но это уже другая история.
dark-demon
У меня для каждого модуля отдельная папка шаблонов где интуитивно понятно где и что выводится, и таких проблема не возникает. Ситуация вовсе не рафинированная.
AmdY
Не очень понял смысл сообщения, будь добр прочти - возможно ошибка.

-~{}~ 28.10.07 02:22:

dark-demon
Сначала я делаю простой шаблон на котором всё работает, затем его берет верстальщик, делает {debug_console} и смотрит самостоятельно что и как :)
 
Сверху