Автор оригинала: Crazy
Мне, если честно, смесь кода PHP и HTML мешает. Но жесткие ограничения мешают больше.![]()
В противном случае ему нужно знать синтаксис языка макросов шаблонов. Принципиально это ничего не меняет -- разница количественная.- верстальщику необходимо теперь знать синтаксис ПХП.
Что изменится, если вместо "%var% там будет написано <?= $var ?> ?наверстал, повставлял в разных местах там %var% (или {var} - не принципиально), положил на место старого и получил ТО ЖЕ САМОЕ, только с другим внешним видом.
<td id="up"> поможет верстальщику. Но то, что предлагается как плюс(весьма сомнительный) для верстальщика - это уже разрушение идеи разделения кода и шаблонов.Автор оригинала: Crazy
<skip>
Далее: я не вижу принципиальной разницы для верстальщика, какой синтаксис макросов он будет использовать: {foobar} или <?= $foobar ?>. Но во втором случае он автоматически получает большу гибкость в формировании ПРЕДСТАВЛЕНИЕ. Например -- он может по СВОЕМУ усмотрению (не дергая реализатора логики) заставить foobar отображаться в верхнем регистре.
Непонятна фраза: ..."но жесткие ограничения мешают больше"...Автор оригинала: Crazy
Разъяснить могу. Что именно непонятно?
Однако семантика все равно принципиально разная. В одном случае -- подстановка готового кода. На котьорый верстальщик никак не воздействует.Автор оригинала: tony2001
>Шеф, ты сравниваешь несравнимое.
Ой, очень сравнимое.
У меня за некоторыми %var% стоят килобайты ХТМЛя
У меня сложилось впечатление, что вепстальщики не самые тупые люди. Если человек держит в голове кучу правил по верстке под разные браузеры, то еще одно правило его не перегрузит.однако <?=var?> - это уже parse error, который надо вдолбить в голову верстальщику.
Большинство "шаблонных" технологий (в жестком понимании этого термина) сильно ограничивают возможность манипулировать представлением.Автор оригинала: Mammoth Непонятна фраза: ..."но жесткие ограничения мешают больше"...
Покажи как такими средствами решить ВСЕ поставленные выше примеры задач.Автор оригинала: vano
<td id="up"> поможет верстальщику. Но то, что предлагается как плюс(весьма сомнительный) для верстальщика - это уже разрушение идеи разделения кода и шаблонов.
Приятель, ты когда-нибудь поддержкой кода, написанного через задницу, занимался? С шаблонами реально легко поддерживать и развивать дальше код.Автор оригинала: Crazy
Покажи как такими средствами решить ВСЕ поставленные выше примеры задач.
Наверное мне повезло, и я сразу сел за изучение Smarty. По крайней мере не буду врать - сравнивать этот энджайн мне не с чем. Но те примеры, которые ты привел, относительно него абсолютно беспочвенны. Приведу примеры:Автор оригинала: Crazy
Большинство "шаблонных" технологий (в жестком понимании этого термина) сильно ограничивают возможность манипулировать представлением.
Например, я хочу вывести число, хранящееся в {NUM}, с разбивкой на тысячи неразрывным пробелом.
Или хочу вывести фамилию в верхнем регистре.
Или раскрасить все отрицательные суммы красным цветом.
Или вывести таблицу с чередованием фона строк.
Во всех виденных мной шаблонных движках практически все эти ТРИВИАЛЬНЫЕ задачи вызывали проблемы.
Мсье путает гибкие шаблоны и "код через задницу". Это разные вещи.Автор оригинала: vano
Приятель, ты когда-нибудь поддержкой кода, написанного через задницу, занимался?
Для этих. Но в очень ограниченнгом виде.Автор оригинала: tony2001
шаблоны как раз для этих задач и сделаны.
Т.е. ты предлагаешь засунуть в код задание ПРЕДСТАВЛЕНИЯ? Хм... Что там чуть выше писали о поддержке кода?>Например, я хочу вывести число, хранящееся в {NUM}, с
>разбивкой на тысячи неразрывным пробелом.
это в коде реализуется.
Разумеется. Это самые простейшие задачи. В своих ответах ты показал, что согласно твоему пониманию шаблонов реализация всех этих вещей -- связанных именно с представлением -- отдается не верстальщику, а тому, кто кодит логику. Т.е. валим логику и представление в кучу. Это прямой шаг к трудноподдерживаемому коду.Crazy - твои задачи просто _смешны_.
Для жестких шаблонов есть своя ниша -- в двух проектах я ими пользуюсь и не вижу причин для отказа. Там ТЗ на очередной блок четко описывает, что и как должно отображаться. Там верстальщик не имеет права заходеть сделать буквы большими или цвет четных строк синим. Если в ТЗ есть -- ему дадут такую возможность через шаблоны. Если в ТЗ нет -- его фантации идут лесом.Ну подумай сам - если шаблонами это не решается, то зачем они нужны ? Для понту ?
Почему не здесь? Думаю, многим будет интересно.Если тебе нужны реальные примеры - в приват или на мэйл пиши, нарисую тебе то, как я решаю такие задачи со своими шаблонами.
Ошибся чуток... Надо писать: {$last_name | upper}Автор оригинала: Mammoth
...
// хочу вывести фамилию в верхнем регистре.
{$last_name | upper_case}
...