Лекции     Книги     Рефераты    
Диплом, курсовая на заказ

Работа с шаблонами.

news date мая.19.2008    categories Web-программирование > PHP    comments (10)

Многие начинающие веб мастера встречаются с проблемой редизайна сайта или скрипта. Да, очень сложно сменить дизайн у нескольких десятков, а иногда и сотен страниц.
Эту проблему можно легко решить при помощи шаблонов, по крайне мере если конструкция всех страниц примерно одинаковая.
Начнем написание.

Для лучшего восприятия и усваивания информации начнем с написания шаблона.
Берем любой 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 — Форматирует системную дату/время

Обсуждения

10 комментариев к “Работа с шаблонами.”
  1. geralt пишет:

    я сделал всё,как описано выше. Но не работает. На экране выводится только HTML файл без информации (например вместо заголовка страницы выводится ). В чем ошибка?

  2. admin пишет:

    А хостинг Ваш вообще поддерживает PHP ? Какие-либо ошибки пишет ? Опишите подробнее …

  3. lordgabriel пишет:

    НЕ пойму как практически єто использовать. НУ есть файл
    temp.html.

    а куда писать это
    print $tmp;

  4. Roman82 пишет:

    Здравствуйте!
    По уроку у меня все получилось.
    В уроке переменной $text присваивается текст,
    но как быть если я хочу использовать на странице связь с базой данных (например вывод новостей)?
    Как все это можно привязать одной переменной (например $text)?

  5. Roman82 пишет:

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

  6. admin пишет:

    lordgabriel, в templ.html у нас находится сам шаблон… а его вывод (все что идет после фразы “Сохраняем с именем temp.html.”) – делается в PHP сценарии – в том файле, где вы собираетесь выводить шаблон с соответствующими заменами, ну, например в index.php

  7. admin пишет:

    Roman82, – никак не могу понять, что именно вы имеете в виду. Этот урок и пример не имеют отношения к работе с базами данных. Ну а переменной $text вы можете присвоить что угодно, в том числе и результат запроса к БД. (Об этом читайте уроки по mySQL)

  8. Roman82 пишет:

    я не имел ввиду работу с базами данных( их я привел как пример), я просто хотел узнать как можно будет присвоить одной переменной большое и сложное значение( несколько таблиц, возможно несколько запросов бд, информеры и т.д. и т.п.).
    Не слишком это сложно будет?
    Есть ли че нить попроще? Это пойдет для серьезных сайтов?

  9. centgart пишет:

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

  10. Another пишет:

    Что касается серьезных проектов – это не самый быстрый способ, но он не сильно замедлит работы и всё же подходит для крупных проектов с большим количеством трафа.
    По поводу содержимого файла – в чем проблема, легко и просто, как всегда это делается…
    $имя_переменной=file_get_contents(“файл, который читаем”);

Добавить комментарий

Вы должны войти



© 2009 - 2010 | Webteach.ru | Образовательный портал