Работа с шаблонами.
Многие начинающие веб мастера встречаются с проблемой редизайна сайта или скрипта. Да, очень сложно сменить дизайн у нескольких десятков, а иногда и сотен страниц.
Эту проблему можно легко решить при помощи шаблонов, по крайне мере если конструкция всех страниц примерно одинаковая.
Начнем написание.
Для лучшего восприятия и усваивания информации начнем с написания шаблона.
Берем любой html файл и переделываем его под себя:
<html>
<head>
<title><!–#title#–></title>
</head>
<body>
<table style=’border:0px solid #000000;’ width=100% bgcolor=”">
<tr><td>
<tr><td align=center>
<!–#date#–>
</table>
<br>
<table width=100% style=’border:0px solid #000000;’ width=100%>
<tr><td align=”left” width=”25%” valign=”top”>
<!–#menu#–>
</td>
<td align=”right” width=”80%” valign=”top”>
<!–#text#–>
</td></tr>
</table>
<hr>© <!–#host#–> 2007 All right reserved
</table>
</body>
</html>
Сохраняем с именем temp.html.
Теперь за место <!–#*#–> будем подставлять нужные данные… Для начало откроем файл с темплейтом:
$tmp=file_get_contents(‘temp.html’);
Производим замену. Создаем нужное кол-во переменных и записываем в них нужную информацию:
$title=”Заголовок”;
$date=date(“d.m.Y”);
$menu=”<a href=>Тут ссылка</a>”;
$text=”Тут будет текст! бла-бла-бла бла бла бла. Тут ваш текст. бла-бла-бла бла бла бла. Тут ваш текст. бла-бла-бла бла бла бла.Тут будет текст! бла-бла-бла бла бла бла. Тут ваш текст. бла-бла-бла бла бла бла. Тут ваш текст. бла-бла-бла бла бла бла.”;
$host=”webteach.ru”;
Теперь непосредственно сама замена:
$tmp = ereg_replace(“<!–#title#–>”, $title, $tmp);
$tmp = ereg_replace(“<!–#date#–>”, $date, $tmp);
$tmp = ereg_replace(“<!–#menu#–>”, $menu, $tmp);
$tmp = ereg_replace(“<!–#text#–>”, $text, $tmp);
$tmp = ereg_replace(“<!–#host#–>”, $host, $tmp);
Всё, теперь выводим на экран и любуемся не сложной, проделанной работой.
Вывести можно как угодно… Или так:
print $tmp;
Или так:
echo $tmp;
В этом уроке мы узнали несколько новых функций, вот весь их список:
ereg_replace – заменяет регулярное выражение
file_get_contents — Получить содержимое файла в виде одной строки
date — Форматирует системную дату/время





мая 25, 2008 at 11:30
я сделал всё,как описано выше. Но не работает. На экране выводится только HTML файл без информации (например вместо заголовка страницы выводится ). В чем ошибка?
мая 25, 2008 at 12:23
А хостинг Ваш вообще поддерживает PHP ? Какие-либо ошибки пишет ? Опишите подробнее …
августа 14, 2008 at 17:55
НЕ пойму как практически єто использовать. НУ есть файл
temp.html.
а куда писать это
print $tmp;
декабря 15, 2008 at 04:33
Здравствуйте!
По уроку у меня все получилось.
В уроке переменной $text присваивается текст,
но как быть если я хочу использовать на странице связь с базой данных (например вывод новостей)?
Как все это можно привязать одной переменной (например $text)?
декабря 18, 2008 at 16:12
Я так понимаю, что ответа мне не дождаться.
Если не получается объяснить, то хотя бы подскажите как это примерно делается, или если использовать шаблон, то нельзя создать сложный сайт в котором будет заменятся не только текст, но и таблицы и связь с базой данных и т.д.?
декабря 20, 2008 at 13:34
lordgabriel, в templ.html у нас находится сам шаблон… а его вывод (все что идет после фразы “Сохраняем с именем temp.html.”) – делается в PHP сценарии – в том файле, где вы собираетесь выводить шаблон с соответствующими заменами, ну, например в index.php
декабря 20, 2008 at 13:35
Roman82, – никак не могу понять, что именно вы имеете в виду. Этот урок и пример не имеют отношения к работе с базами данных. Ну а переменной $text вы можете присвоить что угодно, в том числе и результат запроса к БД. (Об этом читайте уроки по mySQL)
декабря 20, 2008 at 18:42
я не имел ввиду работу с базами данных( их я привел как пример), я просто хотел узнать как можно будет присвоить одной переменной большое и сложное значение( несколько таблиц, возможно несколько запросов бд, информеры и т.д. и т.п.).
Не слишком это сложно будет?
Есть ли че нить попроще? Это пойдет для серьезных сайтов?
апреля 30, 2009 at 20:20
я тоже, как и Roman82, хочу узнать, пойдет ли это для серьезных сайтов? а что касается самого кода, то тут есть еще вопрос по теме: можно ли производить замену наших и тому подобной фигни на содержимое какого-либо файла?
то есть, считать из файла всю информацию в переменную и на нее уже производить замену?
мая 1, 2009 at 10:57
Что касается серьезных проектов – это не самый быстрый способ, но он не сильно замедлит работы и всё же подходит для крупных проектов с большим количеством трафа.
По поводу содержимого файла – в чем проблема, легко и просто, как всегда это делается…
$имя_переменной=file_get_contents(“файл, который читаем”);
Добавить комментарий
Вы должны войти