Управление контентом при помощи форм
Система управления содержимым, как следует из названия, представляет собой интерфейс, позволяющий управлять контентом сайта, в том числе добавлять новые данные, изменять существующие и удалять ненужные. В этом и двух последующих уроках описывается создание системы управления содержимым (content management system – CMS) для сайта Newland Tours. Вследствие ограниченного размера книги здесь не описано создание полнофункциональной CMS, поскольку нередко это оказывается сложной и трудоемкой задачей. Но создаваемой в этих уроках системы будет достаточно, чтобы понять, как она работает, и для того, чтобы впоследствии начать создание своей собственной.
Применение HTML-тегов в тексте, по умолчанию добавляемом в текстовую область, позволяет создать шаблон, на основе которого пользователи смогут форматировать текст.
Как работают системы управления содержимым? Этот вопрос следует рассматривать как с функциональной точки зрения (каким образом происходит управление содержимым веб-сайта в сети), так и с технической (как использовать доступные технологии для того, чтобы реализовать это управление). При появлении подобного рода вопросов рекомендуется сначала рассмотреть их функциональную сторону и только потом переходить к решению технических задач.
На практике, CMS, как правило, состоит из нескольких страниц, содержащих формы. Содержимое, которое пользователи вводят в эти формы, появляется на сайте. Поскольку страницы с формами должны быть доступны ограниченному количеству людей, сначала была создана система для регистрации и получения доступа к разделам сайта. Несложно догадаться, что передача информации из формы в сеть осуществляется благодаря базам данных. Как известно, веб-страница может динамически наполняться данными из базы. Известно также, что введенная пользователем в форму информация может быть сохранена в базе данных. Если объединить эти два факта, получится система управления содержимым.
увеличить изображение
Рис. 14.1. HTML код с текстом, по умолчанию добавляемый в текстовую область, служит шаблоном, с помощью которого пользователям проще создавать отформатированный текст
В 2002 году компанией Macromedia была выпущена программа Contribute, в основе которой был задействован кардинально новый подход к управлению контентом. Вторая версия программы позволяет технически неподготовленным пользователям управлять содержимым сайта при помощи дружественного интерфейса. По сравнению с CMS, в которой используются возможности баз данных, а также ASP, ColdFusion или PHP, Contribute имеет как преимущества, так и недостатки. Поскольку программа Contribute является веб-редактором, то она позволяет форматировать содержимое гораздо проще и быстрее, чем самая лучшая CMS под управлением базы данных. Для управления контентом сайта при помощи Contribute не требуется предварительное написание соответствующего кода, как в случае с сайтами под управлением баз данных, созданными при помощи ASP, ColdFusion или PHP. Поскольку Contribute в основном работает со статичными сайтами, стоимость этого решения намного ниже. С другой стороны, Contribute не работает с динамическим содержимым баз данных. Вдобавок, в то время как для обновления веб-сайта, управляемого базами данных, требуется браузер и доступ в Интернет, для обновления сайта при помощи Contribute нужен доступ в Интернет и программа, которая несмотря на невысокую цену является платной.
Как правило, Contribute пригодна для работы со статичными сайтами, на которых содержится много текста и изображений, которые периодически требуется обновлять. Динамические страницы и базы данных рекомендуется использовать на сайтах со сложной структурой, ориентированных на работу с данными, которые часто обновляются, а также на сайтах, позволяющих производить поиск данных. Многие компании для поддержки своих сайтов применяют как базы данных и серверные сценарии (например, ASP, ColdFusion или PHP), так и программу Contribute – используя плюсы обоих подходов.
Итак, в этом уроке начнется создание CMS. В основе процесса управления содержимым лежат три основных действия – это добавление, изменение и удаление содержимого. Как известно, в SQL для добавления, изменения и удаления данных из базы применяются соответственно операторы INSERT, UPDATE и DELETE. В этом и двух последующих уроках эти операторы будут использоваться достаточно плотно, так что даже для тех, кто не знаком с языком SQL, будет достаточно практики. Операторы будут добавляться в запросы вместо простых операторов SELECT, что позволит управлять содержимым сайта.
Основным заданием остается создание форм, предназначенных для выполнения функций клиентского интерфейса с целью управления процессами, выполняемыми на сервере. Некоторые из них создать довольно просто, особенно формы для добавления данных. Первой формой такого типа была форма для регистрации. Обновление и удаление данных реализуются несколько сложнее, поскольку для этого требуется извлечь данные из базы, чтобы на их основе пользователь смог отправить обратно в базу данных запросы с параметрами, позволяющими произвести удаление или обновление.
В этом уроке будет создана простая часть CMS – форма, с помощью которой сотрудники Newland Tours смогут обновлять колонку "Traveler’s Journal" на главной странице. Для этого требуется одна страница, одна форма и одна серверная модель поведения (Insert Record [Вставить запись]).
Что будет изучаться:
- обеспечение возможности для технически неподготовленных пользователей моментального добавления отформатированного содержимого;
- создание административного раздела сайта и нового шаблона для его страниц;
- использование и настройка текстовой области;
- отслеживание действий пользователя при помощи переменной сессии и скрытых полей;
- изучение SQL-оператора INSERT ;
- применение серверной модели поведения Insert Record.
Время выполнения
На выполнение этого урока потребуется приблизительно 45 мин.
Файлы урока
Исходные файлы:
Lesson14/Start/newland/generic_template.asp
Lesson14/Start/newland/index.asp
Итоговые файлы:
Lesson14/Complete/newland/admin_template.asp
Lesson14/Complete/newland/admin_index.asp
Lesson14/Complete/newland/admin_update_tj.asp
Lesson14/Complete/newland/index.asp