Как сделать сайт на tpl шаблонах?

Q-Astion

Новичок
Как сделать сайт на tpl шаблонах?

Хочу сделать сайт на tpl шаблонах, но не знаю, как это реализовать. Помогите, пожалуйста....
 

Фанат

oncle terrible
Команда форума
для начала надо определиться с ответом на вопрос - для чего ты это хочешь сделать.

-~{}~ 06.10.07 14:43:

лично я, кстати, сделаю сайты на php шаблонах.
 

Q-Astion

Новичок
ну, я хочу, чтобы было, как например в форумах phpBB.
То есть например есть файл с тегами {BLABLABLA}, к который вставляются значения переменных из php файлов...
 

Dovg

Продвинутый новичок
Q-Astion
неужели в поиске по форуму и гугле нет информации по интересующему вас вопросу?
---
кстати - а чем {BLABLABLA}, принципиально отличается от <?=$BLABLABLA?>
 

Фанат

oncle terrible
Команда форума
Q-Astion
"Я хочу чтобы как у пети из 12 дома" - это не ответ.
ТЕБЕ ЛИЧНО зачем-то нужны шаблоны tpl?
 

Гравицапа

elbirret elcno
Апокалипсис
Не уверен, что автору топика стоит давать ссылку на смарти.
Он пока сам не может сказать, зачем ему вообще "tpl шаблоны".
 

Апокалипсис

тех дир matras.ru
Гравицапа
Пусть почитает хотя бы результаты поиска. Шаблоны обсуждали сто раз может что и будет ясно:)
 

Фанат

oncle terrible
Команда форума
Q-Astion
Можно не ходить в поиск и не читать. поскольку в форуме обычно решаются практические проблемы, а у тебя проблема теоретическая. Тебе надо сначала понять - зачем нужны шаблоны, и какие они бывают. А потом разбираться, какой подойдет лично тебе.
 

Q-Astion

Новичок
я просто не хочу писать в теле скрипта:
echo "<a href=".$bla.">blablabla".$bla['bla']."<i>Q</i>";

а чтобы в отдельном файле bla.tpl был шаблон
<a href={BLA}>{Blablabla}<i>{blablabla}</i>";

хотя, возможно как-то обойтись тегом include.
 

Фанат

oncle terrible
Команда форума
Q-Astion
если говорить коротко - то да. в принципе, можно обойтись тегом инклюде. что бы ты ни понимал под этой фразой.

но если объяснять подробнее, то, во-первых, ты так и не смог ответить на вопрос.
согласись - сама по себе фраза "я не хочу писать в теле скрипта" не несет никакого смысла. Точно так же можно сказать - я не хочу писать в теле скрипта символ "=". или фигурные скобки. Вопрос - почему ты не хочешь писать это в теле скрипта. Без понимания ответа на этот вопрос пользоваться шаблонами бесполезно.

во-вторых, как тут пытались объяснить одному не в меру ретивому доброхоту, простой заменой блабла на блаблабла обойтись невозможно!
Я уже приводил пример. иногда надо ссылку писать, а иногда - нет. как ты реализуешь такой случай в своих шаблонах?
 

Alexandre

PHPПенсионер
Q-Astion для разделения кода РНР и "представления" (HTML) есть несколько подходов:
один - использовать nativ-php
второй - использовать шаблонизатор

Первый может быть реализован сл. образом:

файл test.tpl.php // шаблонный
Код:
<HTML>
<body>....bla-bla-bla и прочий HTML
<b><?=$myVar?></b> <!--  здесь выводим переменную PHP -->
</body>
</HTML>
файл test.php - основной код
Код:
<?php
....
$myVar=xxxx;

include 'test.tpl.php';
?>
как видишь, этот прием вполне разделяет код и дизайн.

И не надо писать много раз echo "<b>$myVar</b>"
 

Фанат

oncle terrible
Команда форума
native php - это способ шаблонизации, описанный в статье по ссылке.
 

Духовность™

Продвинутый новичок
7 сентября 2003 года http://spectator.ru/technology/php/easy_templates
На самом деле статья не совсем в точку. Ибо даже простое упоминание strtoupper, т.е. функции PHP в шаблоне, спутает новичков. Они также будут пихать в шаблон другие функции, в результате мы получим что-то отдаленно напоминающее хороший nativ-php. Получится каша. Я лично с первого раза не уловил мысли.

ИМХО, нужно сделать класс\библиотеку, специально для работы с логикой представления. strtoupper() в данном случае оформить в tpl_strtoupper(). Это будет по меньшей мере аккуратно. Библиотека нужна для того, что бы не форматировать данные в скрипте, ибо тип вывода данных - задача шаблона, а не логики приложения.

Второе - вызывать шаблон из PHP-файла НЕ правильно. Вызывать нужно ИЗ шаблона php-модули, которые должны отдавать шаблону массив с данными.
 

Духовность™

Продвинутый новичок
пожалуйста :)

-~{}~ 07.10.07 19:50:

Кстати, Роман, а почему ты до сих пор статьи в FAQ не написал на тему nativ-php? Ты же вроде довольно грамотно аргументируешь использование данного подхода, по меньшей мере, на фоне всеобщей ламерской истеричной замены переменных на {var} это решение выглядит действительно здраво. Среди величайшего заблуждения относительно шаблонов )
 

Фанат

oncle terrible
Команда форума
не знаю. мне кажется, основной идеи, изложенной А.Смирновым вполне достаточно.

Тем более, что я не собираюсь, в принципе, так уж сильно пропагандировать этот подход. Даже у смарти можно найти плюсы. Не говоря уже о минималистичных двудомных шаблонизаторах семейства php_templates. Получится холивар - а зачем?

Я пропагандирую понимание.
Вот опонимании надо бы статью написать.
Что человек вообще, в принципе должен понимать, для чего ему тот или иной инструмент.
Что человек должен, в частности, понимать, зачем ему шаблонизатор.
А когда поймет - то сам и выберет подходящий.
 
Сверху