Теория двигателей

Вебмастер, обновляющий страницы сайта вручную (не имеет значения каким редактором — ФронтПейджем или Блокнотом), напоминает Папу Карло, скрючившегося в своей каморке и строгающего тысячного Буратино. При добавлении нового материала на сайт ему нужно отформатировать текст в HTML, открыть файл с оглавлением раздела, найти нужный кусок кода, отредактировать его; открыть файл страницы «Новости», найти нужный кусок кода, отредактировать его; открыть файл главной страницы, найти нужный кусок кода, отредактировать его… И все это — только при самой простой структуре сайта. В сложном проекте публикация нового материала может потребовать гораздо более сложных манипуляций.

Потребность изменить структуру сайта ставит под угрозу само его существование. При более-менее сложном проекте бывает легче полностью переделать сайт заново, чем долго и занудно копаться в его «внутренностях».

Рано или поздно такая ситуация надоедает. Хочется, чтобы обновление сайта было простой операцией, а не напоминало по своим масштабам запуск «шаттла». Хочется, чтобы при изменении структуры сайта все его страницы автоматически менялись точно так же, как обновляются формулы в Exсel'е у тети Зины из бухгалтерии, когда она меняет курс доллара в одной ячейке. В конце концов, хочется вообще забыть про веб-редакторы и публиковать на сайте обычный текст, не заботясь о том, каким образом он превратится в HTML.

Единственный эффективный путь решения проблемы — применение «движка», обеспечивающего легкое и непринужденное обновление сайта.

Основной принцип работы такого программного механизма — это, во-первых, разделение структуры сайта, его контента (содержания) и оформления, а во-вторых, организация взаимосвязи между ними. В этом случае легко добиться того, чтобы при изменении какого-то элемента сайта все остальные элементы также менялись. Если же дизайн сайта и его содержание свалены в кучу (а так и бывает, если страницы создаются вручную в веб-редакторе), а структура вообще не зафиксирована где-либо (то есть просто на диске веб-сервера вебмастером созданы соответствующие каталоги и в них записаны файлы), то создать надежно работающий программный «движок», который мог бы четко «понять», как именно нужно переделать сайт в связи с изменением одного из элементов, попросту невозможно.

Кто-то из читателей, возможно скажет: «Так ведь можно сделать так: «шапка» и «подвал» страниц хранятся в отдельных файлах и просто вставляются в страницы с помощью SSI-инструкций. Таким образом, получается, что дизайн и содержание отделены друг от друга без всяких движков!»

Все не так просто. Во-первых, полного разделения дизайна и контента в данном случае не происходит: текст материалов все равно форматируется с помощью HTML. Можно, конечно, форматировать текст с помощью SSI-инструкций, но тогда писать текст будет слишком утомительно (помните, запуск «шаттла»?). Во-вторых, не происходит фиксации структуры сайта: файлы веб-страниц по-прежнему лежат в созданных для них каталогах, и для добавления нового материала нужно создать новый файл, прописать в него SSI-инструкции, а затем править файлы index.html для разделов сайта и главной страницы — в общем, все те же игры в Папу Карло.

Итак, если попытаться построить обобщенный «портрет» «движка» для веб-сайта, то получится такая картина.

Структура сайта (список разделов и список содержащихся в них материалов), шаблоны дизайна и текст материалов сайта содержатся в базе данных, размещенной на веб-сервере. Файлы изображений и другие двоичные файлы могут также храниться в базе данных, а могут размещаться просто в отдельных каталогах на диске сервера.

Для изменения структуры сайта и его содержания обычно предусматривается специальный веб-интерфейс. С помощью него, например, можно добавлять новые разделы и изменять или удалять уже существующие. Для добавления нового материала нужно ввести в поля формы его название, выбрать раздел сайта, к которому он будет относиться, и сделать copy+paste текста нового материала в форму. Веб-интерфейсы некоторых «движков» позволяют, помимо ввода текста, просто загрузить соответствующий текстовый файл на сервер и затем уже сами извлекают из него всю нужную информацию.

После того, как в базе данных произведены изменения (например, отредактирована структура сайта или добавлен новый материал), вебмастер нажимает соответствующую кнопку, запускающую программу (скрипт) обновления, перегенерирующую страницы сайта. Как вариант, программа обновления может запускаться веб-сервером автоматически, через определенные промежутки времени. Это может быть полезно, если содержание сайта обновляется постоянно, и не только веб-мастером проекта, но и посетителями (например, всевозможные каталоги — ссылок, программ, вакансий, объявлений и т.п.).

Скрипт обновления читает информацию из базы данных, анализирует структуру сайта, создает на диске сервера каталоги (если они не были созданы ранее) для разделов и генерирует в них страницы, собранные из текста материалов и шаблонов дизайна, хранящихся в базе данных. В некоторых «движках» скрипт не создает файлы на диске, а генерирует страницы «на лету» по запросам посетителей: в этих случаях URL'ы страниц выглядят не как www.site.ru/razdel/material.html, а примерно как www.site.ru/index.php3?section=razdel&page=material. Не слишком «красиво», но это уж как решат разработчики и их заказчики.

Хранение структуры, шаблонов дизайна и текстов в базе данных позволяет легко оснастить сайт функцией поиска, картой разделов (так называемая «карта сайта»), а также, например, дает возможность нагенерировать сколько угодно версий сайта: различного оформления — текстовую, для тех, кто смотрит сайт на экране сотового телефона, стандартную, flash-версию; различной ширины — стопроцентной, фиксированной; оптимизированные под разные браузеры — последнюю бета-версию Microsoft Internet Explorer, Netscape Navigator 1.0 и т.д. Без проблем решается вопрос альтернативного представления информации, например, в виде «версий для печати». В базе данных можно хранить не только текст материалов сайта, но и записи гостевых книг и форумов, результаты опросов, статистику посещений и т.п., легко интегрируя их в информационное наполнение сайта.

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

Читать комменты и комментировать

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



Защитный код
Обновить

Теория двигателей | | 2011-03-26 13:13:02 | | Веб-дизайн | | Вебмастер, обновляющий страницы сайта вручную (не имеет значения каким редактором — ФронтПейджем или Блокнотом), напоминает Папу Карло, скрючившегося в своей каморке и строгающего тысячного Буратино. | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: