Щаблонизатор или unclude.

niko42

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

ты ходил по ссылке? видел, как там сделано?
почему там не нужен ни буфферинг, ни замены, ни идиотские метки типа {CONTENT}?
По ссылки ходил и прочитал 2 раза ( с первого раза было не понятно).
Пришел к выводу, что в нужно место подключается шаблон
PHP:
<h2><?=$pagetitle?></h2>
<ul>
<? foreach($DATA as $row): ?>
  <li><a href="<?=$row['link']?>" target="_blank"><?=$row['name']?></a></li>
<? endforeach ?>
<ul>
Да, он подключается если его с иклюдить.
А нахрена мне этот шаблон инклюдить каждый раз в нужном месте? (прости за столь не корректное выражение=)) )
Когда, у меня есть один - основной шаболон(дизайн) и в этот шаблон я загоняю контент.

А php файлах уже кручу верчу, как хочу этот контент.

Да, я могу сдлать вот так:
home.php
PHP:
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>{TITLE}</title>
    <link href="style/style.css" rel="stylesheet" type="text/css" />
    <link href="style/form.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="contenir">
    <div id="header"><h1>Байки из склепа</h1></div>
    <div id="sidebar">
        <p><a href="index.php">Все байки</a></p>
        <a href="reg.php">Другия байки</a>
    </div>
    <div id="content">
        {CONTENT}// в место контента  {CONTENT} принимать переменную <? $content ?>
    </div>
    <div id="footer">&copy; кто-то</div>
</div>
</body>
</html>
reg.php
PHP:
$content = <<<EOT
    сюда пишем весь контент
EOT;
require_once("config/home.php");
 

Фанат

oncle terrible
Команда форума
На того хрена, что это шаблон. И он должен быть отдельно от скриптов, а не генерировался прямо в кишках кода.
тебе сто раз уже сказали, что для "контента" тоже нужен шаблон. Но до тебя не доходит.

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

шёл бы ты уже... на яве писать.
 

niko42

Новичок
тебе сто раз уже сказали, что для "контента" тоже нужен шаблон. Но до тебя не доходит.
Читал, но не пойму для чего ?

Окей, пойдем по другому пути.
shablon.php
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My site. <?=$pagetitle?></title>
</head>
<body>
<div id="nemu">
<p><a href="top.php">TOP</a></p>
</div>
<div id="content">
<? include $tp ?>
</div>
</body>
</html>
congif.php
PHP:
$tp = 'reg.php';
include "home/home.php";
index.php
PHP:
include "congif.php";
reg.php
PHP:
<div>
    <?php
    echo 'шаблончик';
    ?>
</div>
top.php
PHP:
<div>
    <?php
    echo 'шаблончик';
    ?>
</div>
И как у меня top.php загрузит?
 

Фанат

oncle terrible
Команда форума
Для того, чтобы можно было править оформление независимо от кода.
Но ты сейчас начнёшь свистеть про то, что тебе ничего не нужно менять и тебя один запрос на страницу.
Так что давай, успехов на другом пути.
 

Фанат

oncle terrible
Команда форума
если top.php - это отдельный скрипт со своей логикой и выводом, то его структура должна повторять структуру index.php
каждый скрипт должен заниматься получением своих данных, а потом вызывать шаблон для их вывода.
 

niko42

Новичок
Спасибо! Логика ясно, но хотелось бы ее закрепить=))
Т.е. Вы хотите сказать - на одну логику(1 файл основа) == 2 файла (основной карказ и шаблон контента). Так что ли ?
 

niko42

Новичок
Спасибо Вам огроное за помощь, за пояснения.

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

Я очень ленивый человек и создать лишний файл для меня лень!=))
 

Фанат

oncle terrible
Команда форума
повторяю, никакого шаблонизатора у тебя сейчас нету.
шаблонизатор - это программа, которая из шаблона и данных выдаёт готовый HTML.
у тебя готовый HTML строится в кишках скрипта, безо всякого шаблонизатора.
тупое впихивание результата в главный шаблон, которое ты гордо называешь шаблоназатором, таковым не является.
 

niko42

Новичок
Спасибо! Суть вся ясна, Вы за отделение html код от php.
А мне удобнее по блокам=)
 
Сверху