Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шаблонизатор на XML+XSL, Рекомендации и обмен опытом 
:(
    Опции темы
Feldmarschall
Дата 12.12.2007, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: -2
Всего: 32



Если речь только про "смотреть на это", то к чему все эти рассказы про объективные причины и возможность кардинанльно поменять дизайн сайта?
Все, что ты говоришь объективного, относится к разделению логики приложения и логики отображения. И относится, в том числе, к native PHP шаблонам. Получается, ты приписываешь своему разделению чужие свойства. 

Вот и остается из твоих "объективных" причин только "утомительно смотреть".
Давай и с этим разберемся
Перепишем приведенный тобой пример по-человечкски:
Код

<table cellpadding='0' cellspacing='0' width='100%'>
  <tr>
    <td align='left' width='100%' class='tbl'>
      <a href='<?=FUSION_SELF?>?msg_send=0'><?=$locale['401']?></a>
    </td>
    <td width='1%' class='tbl' style='white-space:nowrap;font-weight: <?if ($folder=="inbox"):?>bold<?else?>normal<?endif?>'>
       <a href='<?=FUSION_SELF?>?folder=inbox'><?=$locale['401']?> [<?=$bdata['inbox_total']?>/<?=$msg_settings['pm_inbox']?>]</a>
    </td>
    <td width='1%' class='tbl' style="white-space:nowrap;font-weight:<?if ($folder=="outbox"):?>bold<?else?>normal<?endif?>">
      <a href='<?=FUSION_SELF?>?folder=outbox'><?=$locale['401']?> [<?=$bdata['outbox_total']?>/<?=$msg_settings['pm_sentbox']?>]</a>
    </td>


могу ли я тебя попросить переписать его с использованием XSLT?
чтобы, как говорится, наглядно сравнить.

PM   Вверх
N0dwis
Дата 12.12.2007, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 18.9.2007
Где: Луганск

Репутация: 1
Всего: 4



Принципиально, ничем, я уже говорил. Для программиста вообще идентичные. Но с точки зрения дизайнера, мне кажется, первый легче для восприятия. Я не прав?
PM MAIL   Вверх
Feldmarschall
Дата 12.12.2007, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: -2
Всего: 32



Чем легче-то?
Кто такой, вообще, этот "дизайнер"? Человек с Фотошопом и Иллюстратором? Он HTML в глаза не видал.
Как ни спроси любого пхпшника, для чего ему шаблон - он отвечает, "шобы дизайнер мог править!". А спрашиваешь, кто режет шаблоны у них в конторе - "программииииисты...". В лучшем лучае - верстальщик.
Интересно, почему на Яндексе годами висят объявления "нанимаем верстальщиков XSLT"? почему там не написано "Дизайнеров XSLT"?
В результате столько сил угрохивается ради... мифической фигуры! 

С точки зрения дизайнера, говоришь?
Проведи простой эксперимент.
Возьми реальный, я подчеркиваю - реальный шаблон на XSLT. Не учебный пример типа того, что я приводил выше, а боевой шаблон. В котором проверок и условий побольше будет, чем приведенном тобой куске из fusion. И покажи знакомому дизайнеру. Смутно представляющему себе что такое программирование вообще.
А потом поговорим.
PM   Вверх
N0dwis
Дата 12.12.2007, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 18.9.2007
Где: Луганск

Репутация: 1
Всего: 4



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

Добавлено через 1 минуту и 43 секунды
Все время опаздываю с ответом на один пост...  smile 
PM MAIL   Вверх
SamDark
Дата 12.12.2007, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 0
Всего: 38



N0dwis
Приведённый вами лопшекод такой не из-за того, что используется php.

Цитата

Обычно в шаблонизаторах код шаблонов храниться в нескольких файлах (даже если в одном - проблема остается) и получается, грубо, что теги, скажем, <body> и </body>, будут находиться в разных файлах, либо в разных частях файла - опять нарушается логика и восприятие.


На эту тему есть у нас замечательный two-step-view.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Feldmarschall
Дата 12.12.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: -2
Всего: 32



Нет, не хочу. Я не хочу сказать, что XSLT хуже, чем PHP
Я хочу сказать, что PHP не хуже XSLT.

Я хочу сказать, что  шаблон в принципе представляет собой программу. На каком бы языке она ни писалась, она все равно останется программой. И рассуждать за бедного дизайнера не имеет смысла.  Если надо исправить только оформление - любой, знакомый с HTML и CSS исправит в нужных местах любой шаблон. Если надо будет исправлять логику вывода - без знаний программирования не обойдешься.

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

У связки XML+XSLT есть свои плюсы. но ты их практически ни одного не озвучил, приводя вместо них те доводы, которые прекрасно относятся и к нелюбимому тобой PHP. вот ради восстановления справедливости я и влез в этот топик =)

Цитата(N0dwis @  12.12.2007,  21:27 Найти цитируемый пост)
где в такой схеме место теме сайта (ну в смысле оформлению)? Что она должна делать, если вся верстка уже сделана, причем довольно жестко?

Не очень понял вопрос. по мне, "тема сайта" - это такой же шаблон, как и другие.
Что значит "верстка уже сделана"? Есть хтмл файл с мордой сайта? Делаем что и обычно - режем из этой морды шаблон. Вставляя в него программные конструкции.

Цитата(N0dwis @  12.12.2007,  21:27 Найти цитируемый пост)
попробуй все-таки подсунуть этот кусок кода, который всем программистам кажется простым и понятным, дизайнеру... Пошлет я думаю далеко...

Чума! Мы думаем совершенно одинаково, практически одними и теми же словами! =)))

PM   Вверх
N0dwis
Дата 12.12.2007, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 18.9.2007
Где: Луганск

Репутация: 1
Всего: 4



Цитата(SamDark @  12.12.2007,  21:34 Найти цитируемый пост)
На эту тему есть у нас замечательный two-step-view. 

????

Цитата(Feldmarschall @  12.12.2007,  21:40 Найти цитируемый пост)
У связки XML+XSLT есть свои плюсы. но ты их практически ни одного не озвучил, приводя вместо них те доводы, которые прекрасно относятся и к нелюбимому тобой PHP. вот ради восстановления справедливости я и влез в этот топик =)

Почему нелюбимой? Просто пытаюсь прогресс двигать!  smile 
Честно говоря со своей колокольни больше не вижу... Ajax?

Цитата(Feldmarschall @  12.12.2007,  21:40 Найти цитируемый пост)
Не очень понял вопрос. по мне, "тема сайта" - это такой же шаблон, как и другие.
Что значит "верстка уже сделана"? Есть хтмл файл с мордой сайта? Делаем что и обычно - режем из этой морды шаблон. Вставляя в него программные конструкции.

Нет, я не это имел в виду. "верстка уже сделана" относилось к текущей генерации страницы, что вывод html осуществляется самим классом View, а не темой. Сейчас объясню. Если использовать модульную архитектуру cms, а не монолит, то класс (модуль, блок) View - это часть логического модуля сайта (ну там, новости, форум и т.п.). А тема уже будет определять, как это все выглядит, задавать ОБЩИЙ стиль. Я вижу 2 варианта - либо писать тему для каждого модуля (т.е. шаблон), но при этом нужно переписывать абсолютно все шаблоны для всех модулей... А если в системе есть те модули, для которых эта тема не прописана? Либо выносить в тему некое общее оформление, типа обрамления какого-нибудь блока, но тогда не получиться полностью поменять дизайн, т.к. даже при смене темы многие куски будут жестко заданы в самих модулях.
Т.е. приходим к тому, с чего начали - те же самые проблемы, что и у меня со вставкой в xml кусков html. Собственно этого я и хотел добиться, когда разрабатывал на xml - чтобы сам движок генерировал только данные, а полностью весь html настраивался бы. Есть ли другое решение? Может я путанно объяснил конечно...

Цитата(Feldmarschall @  12.12.2007,  21:40 Найти цитируемый пост)
Чума! Мы думаем совершенно одинаково, практически одними и теми же словами! =)))

Родственники наверное... Индийское кино какое-то... smile 

Это сообщение отредактировал(а) N0dwis - 12.12.2007, 22:13
PM MAIL   Вверх
SamDark
Дата 12.12.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 0
Всего: 38



N0dwis
http://ooad.asf.ru/Pattern.aspx?IdKat=7&IdPat=18

Реализовано много раз. Мной в том числе.

Цитата
даже при смене темы многие куски будут жестко заданы в самих модулях

Хм... в модулях(контроллерах, если точнее) не должно быть ничего, что имеет отношение к представлению данных. Всё это для View. Тогда такой проблемы не будет.

В любом случае см. two-step-view.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
N0dwis
Дата 12.12.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 18.9.2007
Где: Луганск

Репутация: 1
Всего: 4



Ну и чем two-step-view отличается от того, что делаю я??
То же самое, просто я в качестве "логического экрана" использую xml!!!!

Цитата:
Код

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

То же, что я указывал как недостаток, что приходится вставлять html напрямую!!!!

Блин, надо было раньше эту статейку почитать, сразу бы многие грабли отпали...

Это сообщение отредактировал(а) N0dwis - 12.12.2007, 22:37
PM MAIL   Вверх
SamDark
Дата 12.12.2007, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 0
Всего: 38



Цитата
То же самое, просто я в качестве "логического экрана" использую xml!!!!

Именно.

Цитата
Вообще говоря, использование единого логического представления существенно ограничивает возможности оформления Web-сайтов...

Ну да. Тут либо единое оформление, либо не единое. View можно построить так, что использование общего View (его, кстати, часто зовут layout-ом) опционально.

p.s. сорри, что не дал статью раньше.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
N0dwis
Дата 12.12.2007, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 18.9.2007
Где: Луганск

Репутация: 1
Всего: 4



Спасибо все равно. Есть еще что-то похожее? smile 
PM MAIL   Вверх
SamDark
Дата 12.12.2007, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 0
Всего: 38



N0dwis
Похожее на что?


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
N0dwis
Дата 13.12.2007, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 18.9.2007
Где: Луганск

Репутация: 1
Всего: 4



Ну паттерны именно для Web-программирования...
PM MAIL   Вверх
SamDark
Дата 13.12.2007, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 0
Всего: 38





--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
N0dwis
Дата 13.12.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 18.9.2007
Где: Луганск

Репутация: 1
Всего: 4



Класс! Спасибо, то, что нужно!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0828 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.