[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Шаблонизатор
mid
Доброго времени суток.
Увидел у друга на двигателе дле очень интересную вещь.
Каким образом можно реализовать такое:
Есть файл шаблона,к примеру:
top.tpl
Свернутый текст

<html>
<body>

{CONTENT}
</body>
</html>


И обработчик за место в этом файле {CONTENT} выводит данные из б.д.
Ну к примеру пусть переменную..
Чтобы место {CONTENT} в файле шаблона вывелось в итого данные переменной к примеру $content.
Как это сделать?!



Спустя 5 минут, 41 секунда (29.12.2011 - 20:21) bodja написал(а):
str_replace('{CONTENT}',$content,$tpl);

Спустя 2 минуты, 42 секунды (29.12.2011 - 20:23) mid написал(а):
Цитата (bodja @ 29.12.2011 - 17:21)
str_replace('{CONTENT}',$content,$tpl);

А что загнать в переменную $tpl ?

Спустя 10 минут, 6 секунд (29.12.2011 - 20:34) bodja написал(а):
Цитата
А что загнать в переменную $tpl ?

top.tpl

Спустя 1 минута, 54 секунды (29.12.2011 - 20:35) mid написал(а):
Вот так:

<?php
$content = "Привет";
$tpl = file("top.tpl");
str_replace('{CONTENT}',$content,$tpl);
?>

??????

Спустя 5 минут, 33 секунды (29.12.2011 - 20:41) bodja написал(а):
file("top.tpl") на выходе даст массив ,а вам нужна строка.
используйте file_get_contents

Спустя 3 минуты, 17 секунд (29.12.2011 - 20:44) mid написал(а):
Цитата (bodja @ 29.12.2011 - 17:41)
file("top.tpl") на выходе даст массив ,а вам нужна строка.
используйте file_get_contents

Спасибо за помощь.+1 в карму

Спустя 9 минут, 35 секунд (29.12.2011 - 20:54) mid написал(а):
Что-то не рабит!
n.tpl

<html>
<head>
<title>

{TITLE}
</title>
</head>
<body>

{CONTENT}
</body>
</html>


index.php

$content = "НочьНочь";
$title = "Ночь";
$tpl = file_get_contents("n.tpl");
str_replace('{TITLE}',$title,$tpl);
str_replace('{CONTENT}',$content,$tpl);

Спустя 9 минут, 50 секунд (29.12.2011 - 21:04) bodja написал(а):
str_replace возвращает значение ,и не подменяет в $tpl

$h=str_replace('{TITLE}',$title,$tpl); 
$h.=str_replace('{CONTENT}',$content,$tpl);
echo $h;


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

Спустя 3 минуты, 24 секунды (29.12.2011 - 21:07) mid написал(а):

$content = "НочьНочь";
$title = "Ночь";
$tpl = file_get_contents("n.tpl");
$index = str_replace('{TITLE}',$title,$tpl);
$index .=str_replace('{CONTENT}',$content,$tpl);
echo $index;

Вот что сгенирировал:

<html>
<head>
<title>

Ночь
</title>
</head>
<body>

{CONTENT}
</body>
</html><html>
<head>
<title>

{TITLE}
</title>
</head>
<body>

НочьНочь
</body>
</html>


Спустя 12 минут, 27 секунд (29.12.2011 - 21:20) YVSIK написал(а):
Цитата
Чтобы место {CONTENT} в файле шаблона вывелось в итого данные переменной к примеру $content.
Как это сделать?!

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

Спустя 8 минут, 17 секунд (29.12.2011 - 21:28) mid написал(а):
YVSIK,может лучше поможете и подскажите в чем ошибка?

Спустя 4 минуты, 50 секунд (29.12.2011 - 21:33) mid написал(а):
Цитата (mid @ 29.12.2011 - 18:28)
YVSIK,может лучше поможете и подскажите в чем ошибка?

Это просьба!
А то подумаете ещё что-нибудь плохого!

Спустя 13 минут, 25 секунд (29.12.2011 - 21:46) YVSIK написал(а):
не не никто тут так плохо не думает ,
все дело состоит в том не зная азбуки ты пытаешься разобраться в том как строить предложение , вот и получается, что ответ вроде и есть но как донести до тебя не зная что ты знаещ тут и выходить непонимание

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

Спустя 3 минуты, 24 секунды (29.12.2011 - 21:50) mid написал(а):
Мне достаточно просто чтобы как кота куда он нагадил,носом ткнуть и сказать что не так сделал и как должно быть и я сразу пойму:)
Я последнее время так и учусь:)

Спустя 1 минута, 58 секунд (29.12.2011 - 21:51) YVSIK написал(а):
сделай главный шаблон Это раз и два отдельных контента это два потом и поговорим что да как

Спустя 7 минут, 3 секунды (29.12.2011 - 21:59) mid написал(а):
все.я врубился!

Спустя 15 минут, 56 секунд (29.12.2011 - 22:14) mid написал(а):
$content = "ДеньДень";
$title = "День";
$tpltitle = file_get_contents("d/title.tpl");
$tplcontent = file_get_contents("d/content.tpl");
$index = str_replace('{TITLE}',$title,$tpltitle);
$index .= str_replace('{CONTENT}',$content,$tplcontent);
echo $index;

d/title.tpl

<html>
<head>
<title>

{TITLE}
</title>
</head>


d/content.tpl

<body>
{CONTENT}
</body>
</html>



Спустя 47 секунд (29.12.2011 - 22:15) mid написал(а):
tongue.gif всем,спс,все работает!


_____________
По любому вопросу : programmer-php@mail.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.