![]() |
|
Главная Скачать (Download) Dreamweaver CS6 Dreamweaver CS5 Dreamweaver CS4 Dreamweaver 8 Dreamweaver MX 2004 - Рабочая область
Dreamweaver 4- Создание/ открытие документов - Настройка сайта - Компоновка страниц с CSS - Табличный контент - Шаблоны в MX 2004 - Работа с страницами - Настройка серверных приложений - Рабочая область для динамических страниц Уроки (Tutorials) Видеоуроки new!!! Fireworks ЧаВо Документация Статьи Программы и скрипты Бесплатные шаблоны Каталог сайтов Форум Карта сайта Контакты |
Веб-сайт: сборка по кирпичикам Сегодня мы поговорим о том, как минимальными усилиями создать сайт с динамическим контентом. Обычно создание современного динамического веб-сайта - это результат работы серьезной профессиональной команды. Дизайнер разрабатывает внешний вид страниц, программист организует базу данных и пишет управляющие контентом скрипты, верстальщик создает эргономичный код, контент-менеджер поддерживает сайт наполнением, веб-мастер настраивает веб-сервер и следит за правильной работой всего сайта в целом. Конечно, серьезную работу не сделать без хорошей команды. Но многие начинающие веб-мастера, впервые взявшиеся за создание небольшого динамического сайта, хотели бы иметь для этой задачи простой инструмент, не слишком далеко ушедший от хорошо знакомого статического HTML. В этой статье я постараюсь продемонстрировать, как один человек без особого опыта в программировании может построить динамический сайт буквально за один день. В этом нам поможет технология темплейтов, реализуемая при помощи несложных скриптов на языке PHP. Идея построения сайта на темплейтах родилась довольно давно, многие компании делают свои программы и сайты именно по этой технологии. Приемы работы с темплейтами используются практически во всех HTML-редакторах. Темплейты сильно экономят время, позволяя веб-мастеру создавать множество страниц, пользуясь всего одним шаблоном. На каждой странице современного сайта, как правило, собрано большое количество информационных блоков, обладающих различной функциональностью, - навигационное меню, последние новости, форма для голосования, строка поискового запроса, ссылки, счетчики, реклама и т. п. Структура HTML-кода подобной страницы довольно сложна. Содержание каждого информационного блока может меняться независимо, да и сами блоки могут порой заменять друг друга. Если за создание каждого информационного блока отвечает PHP-скрипт, "встроенный" в HTML-код страницы, то ничего, кроме головной боли, обслуживание такого сайта вам не принесет. Любое изменение структуры сайта или способа обработки информации в одном из блоков приведет к необходимости вносить значительные коррективы сразу во множество страниц. Поэтому веб-программисты стремятся как можно сильнее отделить код сайта от его верстки и дизайна. Вот тут-то и возникает идея использования темплейтов как средства разделения внешнего вида и исполняемого кода сайта. Оказывается, сайт можно собрать, как домик, - шаг за шагом, кирпичик за кирпичиком. А кирпичиками являются как раз те самые составляющие сайта, о которых мы уже говорили, - меню, формы, рекламные и информационные блоки и т. п. Темплейты позволят вам в большей или меньшей степени избавиться от привязки кода к внешнему виду сайта и облегчает задачу генерации динамического HTML-кода страниц. Вариант 1. ВложенияЗадача - собрать сайт из статичных блоков. <?php include ("header.txt"); include ("menu.txt"); include ("main.txt"); include ("footer.txt"); ?> Когда веб-сервер встречает этот скрипт, он перенаправляет его интерпретатору
PHP, который на место каждой команды Конечно, генерировать подобным образом отдельную страницу нет никакого
смысла. Но при большом числе страниц со сходной компоновкой некоторые блоки
(в нашем случае, например, Данный пример хорошо иллюстрирует идею "собирания" HTML-кода страницы из кусочков путем вложения их в основной блок страницы. Каждый из подключаемых файлов отвечает только за одну определенную функцию. Но основной смысл состоит в том, что удалось полностью избавиться от помещения HTML-кода внутрь PHP-кода, так как здесь каждая частичка HTML хранится в отдельном файле. Простота примера впечатляет, но годится такой способ только для очень несложных страниц. Главный минус этого варианта состоит в том, что связи разбитых по отдельным файлам блоков HTML-кода жестко заданы внутри самого PHP-скрипта. Для динамического сайта это не годится. Вариант 2. Динамическая структураЗадача - сделать сайт с функциями динамической структуры данных. Вид основной странички ( <?php require("func.php"); include("header.txt"); text(); include("footer.txt"); ?> Дело в том, что все самое интересное спрятано в файле Может возникнуть естественный вопрос: а как же функция Таким образом мы избавились от необходимости создавать для каждой страницы нашего сайта отдельный файл, как это было в первом примере. Но пока структуре нашего сайта не хватает гибкости. HTML-код, определяющий, как будет выглядеть страница, разбросан по отдельным файлам-фрагментам, и изменение дизайна сайта может стать большой проблемой. Вариант 3. Единый темплейт для всего сайтаЗадача - полностью разделить дизайн, скрипты и содержание страниц. То, что останется, если всю переменную информацию выкинуть, - это и есть темплейт страницы. Для создания темплейтного сайта надо просто научиться вставлять информационные блоки внутрь темплейта. На практике темплейты бывают довольно сложными, в них используются нетривиальные приемы верстки и дизайна, однако в конце концов остается просто добавить в темплейт текст. Мы не будем загромождать статью сложными примерами и рассмотрим предельно упрощенный темплейт: <? require("func.php"); ?> <HTML><HEAD> <TITLE>Template Site</TITLE> </HEAD><BODY> Поместим код темплейта в файл Каждая функция, обращаясь к переменной Другой пример динамического блока - функция news. Обычно она просто помещает
в отведенное ей место темплейта сводку кратких новостей сайта из файла
Как видите, наш сайт уже обретает динамику. Дополнительные возможности дает
добавление в начало файла Какие достоинства есть у этого решения? Во-первых, простота и чистота кода. Все скрипты собраны в одном файле, описание верстки и дизайна страницы - в другом, который можно редактировать любым HTML-редактором, а содержательная информация - в остальных файлах. Еще один плюс раздельного хранения информационных блоков - в том, что легко можно соорудить несложный веб-интерфейс для обновления данных прямо в тех файлах, где они хранятся. Наконец, ничто не мешает нам при необходимости написать сколь угодно хитрые функции для заполнения информационных блоков. Единственный минус заключается в том, что когда будет написано множество функций, вы начнете в них путаться. Если это случилось, значит, сайт уже нельзя назвать небольшим и несложным. Пора подумать о полноценном многофункциональном движке. Листинг. Файлfunc.php
<?php $text_path = "text/"; // Каталог с текстами // Вставка блока основного текста соответственно параметру $page function text() { if($page == "news"){ include($text_path."news.txt"); } elseif($page == "photo"){ include($text_path."photo.txt"); } // ... else{ include($text_path."index.txt"); } } // Вывод навигационного меню без ссылки на страницу $page function menu() { if($page != ""){ echo ("<a href='index.php'>Главная</a><br>"); } elseif($page != "news"){ echo ("<a href='index.php?page=news'>Новости</a>"); } elseif($page != "photo"){ echo ("<a href='index.php?page=photo'>Галерея</a>"); } // ... } // Вывод блока кратких новостей // (если мы не на основной новостной странице) function news() { if($page != "news"){ include ($text_path."shortnews.txt"); } else{ banner(); } } ?>Киса, вы умеете рисовать? Пожалуй, самый незаменимый человек в команде веб-студии - это веб-дизайнер. Вы или умеете рисовать, или нет. Как же быть, если сайт надо делать в одиночку, а по рисованию с черчением в школе у вас была натянутая тройка? В таком случае, скорее всего, вам подойдут бесплатные HTML-темплейты, которых в Сети довольно много. В качестве примера могу привести парочку ссылок. Например, со страницы http://winstart.com/template все можно скачать бесплатно, а перед скачиванием еще и посмотреть, как это будет выглядеть при использовании. На http://www.icehousedesigns.com/downloads все выглядит достаточно просто, но при желании можно найти довольно любопытную информацию о создании сайтов и различные графические заготовки. На других сайтах все приблизительно так же - где-то получше, где-то похуже. Автор: Алексей Гончаренко
Реклама |
|
![]() |