Шаблонный движок

  • Автор темы Автор темы makvik
  • Дата начала Дата начала
> не надо грязи - я под xHTML 1.1 пишу

оно и видно...


> Не удачно пример поставил. Изменили имя класса с status-ok на status-vse-horosho

зачем?


> КОМУ придется править код? Кто этим заниматься должен?

тому, кто к нему ближе.
 
фигасе, я думал, что xslt - это одна сплошная логика.
Не надо громких слов, они сотрясают воздух, но не собеседника (с) Граф Калиостро.

В XSLT есть средства для организации циклов, условий и т.д. Но, не забывайте, что XSLT может использоваться не только как шаблонизатор, он, также, используется для преобразования XML форматов. В этом случае нет приложения и шаблонизатора, есть входной XML, выходной XML и правила преобразования (т.е. XSL шаблон). Именно для такого использования необходима логика в XSL шаблоне.

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

всё. у меня нет больше желания дискутировать с неадекватными людьми.
заявил triumvirat, засыпающий форум, мягко говоря неопытными вопросами :)

Если ты будеш только защищать свою точку зрения, не пытаясь разобраться в чужой, то ты ничему не научишся.

люди просто не понимают, для чего нужны шаблоны и для чего вообще нужно отделять РАБОТУ ПРОГРАММИСТА от РАБОТЫ ВЕРСТАЛЬЩИКА.
Может попробуешь высказать свою точку зрения по этому вопросу?
 
Не понятно, почему некоторые так стараются избегать логики представления в шаблоне... Если на странице логика представления определена так что в одном и том же месте может быть выведено либо одно либо другое, почему бы не поставить в шаблоне одно условие?

а от высказываний типа
PHP:
<span class="status-{status}"> 
    {message} 
</span>
мне кажется недалеко и до
PHP:
<html> 
    {body} 
</html>
лишь бы избавиться от логики

Насколько мне известно, шаблоны используют для отделения бизнес-логики приложения от логики представления, а здесь некоторые по-моему пытаются вообще всю логику убрать подальше от дизайнера, тем самым перекладывая её на программиста, который к ней даже отношения не должен иметь.
 
Ну и зачем это нужно? Если задокументировать шаблон (рассказать что да где комментами), то с классами всё норм.
К тому же, не совсем ясна цель замены имени класса от уже запрограммированного. Кому то от этого хуже станет ?
Да потому что не зачем из шаблонизатора делать gcc.
 
Автор оригинала: cDLEON
Ну и зачем это нужно? Если задокументировать шаблон (рассказать что да где комментами), то с классами всё норм.
К тому же, не совсем ясна цель замены имени класса от уже запрограммированного. Кому то от этого хуже станет ?
а вот и первые ограничения....

и вообще, программист может и не знать о существовании css
а дизайнер должен иметь возможность менять дизайн как он захочет без изменения бизнес-логики

-~{}~ 21.01.08 13:40:

Автор оригинала: dark-demon
> КОМУ придется править код? Кто этим заниматься должен?
тому, кто к нему ближе.
рано или поздно ближе к нему окажешься ты, и придется тебе править, хоть в обязанности это и не будет входить
 
Beavis
Ну так бизнес логика то не меняется.
И обычная логика тоже. Что мешает дизайнеру сменить название, а префикс оставить?
Зачем в шаблон ложить ВСЮ логику? Ты думаешь дизайнеру от этого проще станет?
Я считаю, что логику шаблона нужно ограничивать. Иначе...
Нафига вообще шаблон? Если всё, что я хочу, так и кручу?
 
cDLEON
не всю логику, а только ту которая относится к отображению данных...
я тебе могу ответить в твоем стиле: а нафига всю логику отдавать программисту? ему же от этого тоже проще не станет... разве не логично, чтоб каждый занимался своей логикой...
 
Не понятно, почему некоторые так стараются избегать логики представления в шаблоне...
Потому что, при использовании средств шаблонизатора, это загромождает шаблон и затрудняет работу.

почему бы не поставить в шаблоне одно условие?
А потом другое, а потом третье и т.д. А потом
PHP:
<html> 
  {if condition=true}
    {body1} 
  {else}
    {body2}
  {endif}
</html>
А потом ищешь по шаблону и вложенным шаблонам где забыли закрыть <td> таблицы самого верхнего уровня, которая отвечает за колонку страницы.

а от высказываний типа... мне кажется недалеко и до...
Именно так и выглядит шаблон в XSLT
Код:
<xsl:template match="/">
  <html>
    <xsl:applay-templates select="body"/>
  </html>
</xsl:template>

<xsl:template match="body">
  <table>
    <tr>
      <td><xsl:applay-templates select="left-column"/></td>
      <td><xsl:applay-templates select="center-column"/></td>
      <td><xsl:applay-templates select="right-column"/></td>
    </tr>
  </table>
</xsl:template>
Как ты думаешь, долго тебе придётся искать незакрытый <td> в таком шаблоне?...
 
Автор оригинала: cDLEON
Нафига вообще шаблон? Если всё, что я хочу, так и кручу?
так дизайнер и не должен быть загнан в какие то рамки по части дизайна... а то у него голова распухнет каждый раз лезть в документацию, смотреть какой класс чему соответствует и т.д.
а так он сам что ему нужно с дизайном то он и делает... и программиста не трогает..

-~{}~ 21.01.08 13:55:

Автор оригинала: atv
Именно так и выглядит шаблон в XSLT
Код:
<xsl:template match="/">
  <html>
    <xsl:applay-templates select="body"/>
  </html>
</xsl:template>

<xsl:template match="body">
  <table>
    <tr>
      <td><xsl:applay-templates select="left-column"/></td>
      <td><xsl:applay-templates select="center-column"/></td>
      <td><xsl:applay-templates select="right-column"/></td>
    </tr>
  </table>
</xsl:template>
не именно так... ты хотя бы на количество строк посмотри, тут body формируется тут же...

-~{}~ 21.01.08 13:56:

никогда не испытывал проблем с поиском незакрытых тегов...
 
а вот и первые ограничения.... а так он сам что ему нужно с дизайном то он и делает... и программиста не трогает..
Перечитай сообщение http://phpclub.ru/talk/showthread.php?postid=772769#post772769.

Названия CSS классов - это интерфейс между программистом и верстальщиком, так же как и названия переменных в шаблоне.
 
atv
надо точнее выражаться...
это ваш подход делает имена классов интерфейсом...
 
никогда не испытывал проблем с поиском незакрытых тегов...
Это не значит что их нет, у тебя ещё всё впереди :)

-~{}~ 21.01.08 13:03:

это ваш подход делает имена классов интерфейсом...
Нет, это идея тех, кто придумал вынести стили из HTML в CSS.
 
Автор оригинала: atv
Это не значит что их нет, у тебя ещё всё впереди :)
наверно как научусь решать проблему с забытыми точками с запятой в PHP и запущу свой первый PHP-скрипт, после этого сразу же появится проблема незакрытых тегов в HTML? или чуть позже?
 
наверно как научусь решать проблему с забытыми точками с запятой в PHP и запущу свой первый PHP-скрипт, после этого сразу же появится проблема незакрытых тегов в HTML? или чуть позже?
Заметь, не я это сказал :)
 
Автор оригинала: atv
Нет, это идея тех, кто придумал вынести стили из HTML в CSS.
так они то наверно придумали что это между HTML и CSS имена классов служат интерфейсом, а не между PHP и шаблонами...
 
ну мне кажется это просто лишние согласования, покрывающие недостатки вашего подхода...
 
ну мне кажется это просто лишние согласования, покрывающие недостатки вашего подхода...
бред. А какой у тебя подход? У тебя 1-на килобайтный шаблон с помощью логики разрастается в несколько ?
 
Сверху