Разные шаблонизаторы. Плюсы и минусы.

AmdY

Пью пиво
Команда форума
:), шутишь или никогда не сталкивался с xslt и просто интересно?
 

Bermuda

Новичок
AmdY
Извините -- виноват, из деревни -- глуповат.
Покажите мне нормальный, человеческий, посещаемый сайт который использует преобразование на стороне клиента.
Спасибо.
 

AmdY

Пью пиво
Команда форума
не трогай деревню, я сам оттуда.
а чем тебя не устроила моя предыдущая ссылка.
 

AmdY

Пью пиво
Команда форума
:) а с чего ты это взял, что отсутствует?
 

BubenPupen

Новичок
Хех, а я помню время, когда Фанат вопрошал в чем же принципиальное отличие Smarty от Php шаблонов, и зачем вообще нужен Smarty. Недавно была тема от Фаната про Smarty, теперь вот он говорит, что Smarty лучше XSLT. Понравилось чтоли ?

Про топик:
Использую обычные php шаблоны со своим классом.
Для страницы существует один главный шаблон. В нем можно использовать 3 тэга:
{BLOCK: "название_блока"}
{TEMPLATE: "файл_шаблона"}
{DYNAMIC: "номер_динамического_блока"}


{BLOCK} - заменяется на хтмл код, который приходит от какого-то действия. Например, есть действие showAllNews.
{BLOCK: "showAllNews"} будет заменен на хтмл код, который придет от действия showAllNews.

{TEMPLATE} - Подключает другой шаблон.

{DYNAMIC} - требуется пояснить, лучше всего на примере. Например, у нас есть 1 главный шаблон, который мы хотим использовать для нескольких страниц. Допустим, есть страницы "Новости" и "Опросы", которые выводят все новости или опросы.
PHP:
news.php:
<div id="top">Шапка</div>
<div id="left">Левое меню</div>
<div id="center">{BLOCK: "showAllNews"}</div>
<div id="right">Правое меню</div>
PHP:
polls.php:
<div id="top">Шапка</div>
<div id="left">Левое меню</div>
<div id="center">{BLOCK: "showAllpolls"}</div>
<div id="right">Правое меню</div>
Как видно, шаблоны полность идентичные, только содержание центрального блока разное. Чтобы не создавать много шаблонов (да и вдруг решишь что-нибудь поменять, придется изменять все шаблоны) можно воспользоваться блоком DYNAMIC. Шаблон будет выглядеть так:
PHP:
main.php:
<div id="top">Шапка</div>
<div id="left">Левое меню</div>
<div id="center">{DYNAMIC: "1"}</div>
<div id="right">Правое меню</div>
Теперь, в качестве главного шаблона для страниц Новости и Опросы мы указываем шаблон main.php, и в опциях "Динамические блоки" на странице "Новости" создаем новый блок:
1 - showAllNews

На странице опросов тоже самое:
1 - showAllPolls.
 

Bermuda

Новичок
Кто-нибудь подкинет ссылку на сайт с xslt преобразованием на стороне клиента?
Чесслово, никогда в жизни не видел.
Спасибо.
 

Фанат

oncle terrible
Команда форума
AmdY
вот что мне выдал этот сайт:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
или это уже результат преобразования на моем клиенте?
 

AmdY

Пью пиво
Команда форума
сорри нужно посмотреть код ajax вызовов, они должны были быть с xslt. мот что-то изменилось.
 

Bermuda

Новичок
Вообще без разницы, что он там себе пишет в meta. Сайт как минимум не проходит XHTML валидацию. XML бывает либо валидный, либо это не XML, следовательно код на сайте это не XML и речи о каких-либо преобразованиях идти не может.

-~{}~ 31.01.07 14:59:

???
Только через десять постов удосужился проверить то, что тыкает другим. Сорри теперь?
 

Фанат

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

-~{}~ 31.01.07 17:02:

AmdY
мой браузер мне пишет
С этим XML-файлом не связана никакая таблица стилей. Ниже показано дерево элементов.
что я делаю не так?
 

Bermuda

Новичок
AmdY
И что мне с этим XML-ем делать прикажете? Парсить?

И все же, где преобразование в браузере?
 

AmdY

Пью пиво
Команда форума
в браузере и есть результат соединения xml-ин с xslt-шками
правда он может получаться на стороне сервера, если браузер не поддерживает.
 

AmdY

Пью пиво
Команда форума
искренне, от неглубокого знания как работает данный движок
а в чём проблемма?
 

Фанат

oncle terrible
Команда форума
1. Ты сказал о перспективности парсинга на клиенте
2. Тебя попросили показать сайт, который это использует
3. Ты дал ссылку
4. Никаких преобразований на клиенте при просмотре этого сайта не происходит.
5. При этом ты продолжаешь утверждать, что все хорошо, все нормально.

В каком из утверждений я ошибся?
 

AmdY

Пью пиво
Команда форума
4
смотри исходники страниц, js.
когда мне нужен будет XSLT на хорошем уровне тоже буду окуратно въезжать, а так мои знания об данной реализации поверхностны.
 
Сверху