15. Магазин WWW.ITBOOK.RU и узел Web WWW.RUSEDIT.RU 15. Магазин WWW.ITBOOK.RU и узел Web WWW.RUSEDIT.RU Таблицы Clients и Managers_rec Back-офис магазина www.itbook.ru Главная страница управления Back-офисом Витрина издательства «Русская Редакция» Раздел Книги издательства «Русская Редакция» Раздел Лента новостей издательства «Русская Редакция» Front-офис магазина www.itbook.ru Front-офис узла www.rusedit.ru
В этом разделе мы рассмотрим особенности реализации подсистем Интернет-магазина http://www.itbook.ru, разработанного нами по заказу издательства компьютерной литературы «Русская Редакция». Этот материал поможет Вам в реализации собственных проектов подобного рода. Как мы уже говорили в предыдущей главе, магазин http://www.itbook.ru входит в кластер трех взаимосвязанных узлов Web, объединенных общей базой данных и общим физическим сервером IIS. Это узел Web самого магазина, расположенный по адресу http://www.itbook.ru, узел Web издательства компьютерной литературы «Русская Редакция» с адресом http://www.rusedit.ru, а также узел администрирования обоих перечисленных узлов Web, также доступный через Интернет по своему адресу URL (мы не приводим этот адрес из соображений безопасности). Вначале мы расскажем о реализации административного узла Web, то есть Back-офиса, управляющего работой магазина http://www.itbook.ru и узла Web http://www.rusedit.ru, а затем перейдем к описанию соответствующих Front-офисов. Прежде чем приступить к рассказу о приложениях Back- и Front-офиса, рассмотрим структуру базы данных с названием RR_DB, использованной в Интернет-магазине http://www.itbook.ru и узле Web http://www.rusedit.ru. Ниже в табл. 15-1 мы перечислили все основные таблицы этой базы данных и привели краткое описание назначения этих таблиц. Таблица 15-1. Таблицы базы данных RR_DB
Сделаем некоторые комментарии к этой информации. Таблицы Clients и Managers_rec Таблицы Clients и Managers_rec хранят учетные записи, соответственно, зарегистрированных клиентов магазина и сотрудников, отвечающих за функционирование магазина. Здесь находится такая информация, как идентификатор (логин) и пароль, необходимые для входа в зону ограниченного доступа, сведения о том, когда в последний раз осуществлялся доступ к системе и с какого адреса IP, права клиента и сотрудника, а также различная вспомогательная информация. Таблица Publishers хранит информацию об издательствах. На записи этой таблицы есть ссылки в таблицах Product и Product_history, хранящих, в свою очередь, сведения о книгах. Ниже для примера мы привели фрагмент сценария SQL, создающий таблицу Publishers: CREATE TABLE [dbo].[PUBLISHERS] ( Назначение отдельных полей этой таблицы приведено ниже в табл. 15-2. Таблица 15-2. Поля таблицы Publishers
Пользуясь информацией из этой таблицы, администратор Интернет-магазина сможет получить необходимую информацию об издателе любой книги. Что же касается посетителей магазина, то с помощью таблицы Publishers (и, разумеется, приложения Front-офиса) они смогут узнать название издательства, выпустившего любую книгу, представленную в витринах магазина. Таблица Series Многие книги выпускаются сериями, и покупатели Интернет-магазина могут захотеть получить список книг той или иной серии. Вся эта информация хранится в таблице Series, создаваемой с помощью следующего сценария: CREATE TABLE [dbo].[SERIES] ( Назначение отдельных полей таблицы Series приведено ниже в табл. 15-3. Таблица 15-3. Поля таблицы Series
Как видно из этой таблицы, аннотация каждой серии книг может быть снабжена логотипом в виде графического изображения. Файлы этих изображений хранятся на сервере Web отдельно от базы данных в специальном каталоге. Его имя определяется полем id, содержимое которого уникально для каждой записи таблицы Series. Мы предусмотрели возможность хранения изображений в двух различных форматах — GIF и JPG. Тип файла определяется автоматически при его загрузке на сервер через браузер и сохраняется в поле pic_type. Поле obsolete нужно для того чтобы администратор магазина мог снять серию книг с витрины, а затем, при необходимости (например, если серия была переиздана), поместить ее на витрину снова. Присутствие поля show_in_publisher_site объясняется необходимостью разделять серии книг, выпущенные издательством «Русская Редакция», и остальные серии. Если в этом поле хранится значение 1, то данная серия должна быть показана на витрине узла Web издательства http://www.rusedit.ru. И, наконец, поле sort_weight позволяет упорядочить названия серий при их отображении в различных списках. Таблица Product_history В таблице Product_history хранится основная информация о книгах Интернет-магазина http://www.itbook.ru и узла Web издательства «Русская Редакция» http://www.rusedit.ru. Вот сокращенный сценарий SQL, предназначенный для создания этой таблицы: CREATE TABLE [dbo].[PRODUCT_HISTORY] ( Описание отдельных полей таблицы Product_history Вы найдете в табл. 15-4. Таблица 15-4. Поля таблицы Product_history
Как видите, информация, представленная в таблице Product_history, довольно обширна. Она отражает специфику книги как товара. Если Вы будете создавать Интернет-магазин для продажи других товаров, Вам, очевидно, придется хранить в аналогичной таблице другой набор атрибутов. Поля series_id и publisher_id связывают таблицу Product_history с таблицами, хранящими информацию о сериях книг и издательствах. Таким образом, для каждой книги в базе данных хранится серия, к которой она принадлежит, и сведения о выпустившем ее издательстве. Поле product_type зарезервировано и может быть использовано для добавления в базу данных других товаров, например, компакт-дисков или видеокассет. Назначение полей с названиями title, author, isbn_no, publish_year, pages, pictures, cd_present, cover_type, status, price, bonus, total_customs shop_customs, annotation_short, annotation, Standard и некоторых других понятно из табл. 15-4 и не требует дополнительных комментариев. Что же касается полей cover_pic_present, pic_type, cover_small_pic_present, pic_small_type и sample_pdf_present, то с их помощью можно узнать, хранятся ли в системе изображения обложки данной книги (обычного размера и уменьшенного), а также файл с примерами глав книги в формате PDF. Приложение Back-офиса позволяет обновлять эти изображения через браузер, не прибегая к таким средствам, как загрузка файлов в каталоги сервера Web через FTP. Поля hits1, hits2, hits3, hits4 и hits5 используются для хранения оценок, выставленных данной книге посетителями Интернет-магазина и узла Web издательства «Русская Редакция». Идея проста — каждое из этих полей хранит количество оценок, выставленных посетителями. На страницах Интернет-магазина и узла Web издательства отображается средняя арифметическая оценка, вычисленная на основании информации, хранящейся в этих полях. Записав в поле Obsolete значение 1, администратор Интернет-магазина может снять данную книгу со всех витрин. Позже, если книга вновь появится в продаже (например, после выпуска дополнительного тиража), можно вновь вернуть книгу на витрины, изменив значение этого поля на 0. Так как многие книги являются переводами оригинальных зарубежных книг, этот факт нашел свое отражение в базе данных. Если в поле translated записано значение 1, то поля orig_title, orig_author, orig_isbn_no и orig_publisher_id содержат сведения об оригинальной зарубежной книге. Таким образом, посетителям предоставляется возможность искать переводы зарубежных книг по их названию, автору, номеру ISDN или по названию издательства. Таблица Product Таблица Product содержит практически те же самые поля, что и таблица Product_history, плюс одно дополнительное поле с названием product_history_id. Зачем она нужна? Как мы уже говорили, в таблице Product_history хранится полная информация обо всех книгах, которые когда-либо продавались в Интернет-магазине или появлялись на витрине узла Web издательства «Русская Редакция». В обычном режиме работы записи из этой таблицы не удаляются, даже если каких-то книг уже нет в продаже, и никогда больше не будет. Таким образом, таблица Product_history содержит всю историю прохождения книг через магазин и со временем может стать довольно большой. Что же касается таблицы Product, то в ней хранятся сведения только о тех книгах, которые выставлены на витринах и находятся в продаже. Когда администратор снимает книгу с витрины, запись о ней удаляется из таблицы Product, но остается в таблице Product_history. Если книга вновь помещается на витрину, соответствующая запись заново создается в таблице Product. Таблица Showcase_fav Таблица Showcase_fav содержит идентификаторы книг, выставленных на главной витрине. Эта витрина расположена на главной странице Интернет магазина. Вот исходный текст сценария SQL, предназначенный для создания этой таблицы: CREATE TABLE [dbo].[SHOWCASE_FAV] ( Как видите, в таблице всего три поля (табл. 15-5). Таблица 15-5. Поля таблицы Showcase_fav
Обратите внимание на поле sort_weight. С помощью этого поля можно изменять взаимное расположение книг на витрине, перемещая наиболее популярные книги в начало списка. Таблица Orders В таблице Orders хранятся заказы, сделанные посетителями Интернет-магазина. Ниже мы привели исходный текст сценария SQL, создающего эту таблицу: CREATE TABLE [dbo].[ORDERS] ( Назначение отдельных полей таблицы Orders описано в табл. 15-6. Таблица 15-6. Поля таблицы Orders
Когда посетитель оформляет заказ, в поле processed записывается нулевое значение. Такой заказ считается необработанным. После обработки (выполняемой администратором магазина вручную) в это поле записывается значение 1. Сведения о заказах хранятся в базе данных постоянно и используются для анализа, выполняемого ночью в пакетном режиме. Что же касается поля area_id, то оно ссылается на таблицу Zone, хранящую информацию о тарифных зонах доставки. Мы опишем эту таблицу чуть позже. Таблица Product_corellation Чтобы помочь покупателю найти нужные ему книги, приложение Back-офиса выполняет фоновую обработку заказов, сделанных всеми покупателями. Суть этой обработки заключается в том, что программа определяет, какие книги покупаются вместе чаще всего. Когда посетитель просматривает информацию о книге, ему предлагается список других книг, обычно приобретаемых вместе с этой книгой. Результаты анализа содержимого таблицы Orders, в которой хранятся сведения о покупках, сделанных посетителями магазина, записываются в таблицу Product_corellation. Вот сценарий SQL для создания этой таблицы: CREATE TABLE
[dbo].[PRODUCT_CORRELATION] ( Поля таблицы Product_corellation описаны в табл. 15-7. Таблица 15-7. Поля таблицы Product_corellation
Для каждой пары книг, приобретенных вместе, в этой таблице заводится одна запись. Как мы уже говорили, эта таблица заполняется ночью в пакетном режиме, поэтому процесс анализа не тормозит работу Интернет-магазина в дневное время. Таблица Rubricator Эта таблица предназначена для описания иерархической структуры рубрик Интернет-магазина. Она создается сценарием SQL, текст которого приведен ниже: CREATE TABLE [dbo].[RUBRICATOR] ( Описание полей таблицы Вы найдете в табл. 15-8. Таблица 15-8. Поля таблицы Rubricator
Для каждой рубрики в этой таблице создается одна запись с идентификатором id. Поле id_parent хранит идентификатор родительской записи или значение null, если эта запись корневая. Сокращенное и полное название рубрики хранится, соответственно, в полях title и title_short. Что же касается веса для сортировки sort_weight, то он позволяет изменять взаимное расположение рубрик при отображении на страницах Интернет-магазина. Таблица Rubricator_items Таблица Rubricator_items хранит информацию о расположении книг по рубрикам. Она создается сценарием SQL, представленном ниже: CREATE TABLE [dbo].[RUBRICATOR_ITEMS]
( В табл. 15-9 мы описали поля таблицы Rubricator_items. Таблица 15-9. Поля таблицы Rubricator_items
Каждая запись в этой таблице соответствует одной книге. В поле book_id хранится идентификатор книги, а в поле rubrica_id — идентификатор рубрики, к которой принадлежит эта книга. Таким образом, добавляя записи в эту таблицу, можно располагать книги по рубрикам. Одна и та же книга может находиться в различных рубриках, если для нее создано несколько записей в таблице Rubricator_items. Таблица Zone В таблице Zone хранится информация о тарифных зонах доставки товара: CREATE TABLE [dbo].[ZONE] ( Описание полей этой таблицы Вы найдете в табл. 15-10. Таблица 15-10. Поля таблицы Zone
Поля этой таблицы содержат только текстовое описание зоны. Что же касается тарифов доставки, то они хранятся в таблице Zone_tariff. Таблица Zone_tariff Как мы только что сказали, в таблице Zone_tariff хранятся тарифы на доставку книг в различные зоны: CREATE TABLE [dbo].[ZONE_TARIFF] ( Описание полей таблицы приведено в табл. 15-11. Таблица 15-11. Поля таблицы Zone_tariff
Назначение большинства полей этой таблицы понятно без дополнительных комментариев. Создавая аналогичную таблицу для своего Интернет-магазина, Вы должны учесть особенности тарификации доставки Вашего товара в ваших условиях. Таблицы News и News2 На главной странице узла Web издательства «Русская Редакция» и Интернет-магазина Itbook.Ru находится лента новостей (она занимает правую часть главной страницы). Сообщения ленты новостей хранятся в базе данных, причем таблица News предназначена для узла Web издательства «Русская Редакция», а таблица News2 — для узла Web Интернет-магазина Itbook.Ru. Сценарии SQL, предназначенные для создания этих таблиц, почти одинаковые. Вот сценарий для таблицы News: CREATE TABLE [dbo].[NEWS] ( Описание полей таблицы Вы найдете в табл. 15-12. Таблица 15-12. Поля таблицы News
Как видно из описания полей таблицы, новость может иметь или не иметь отношения к какой-либо книги. Если новость связана с книгой, то в поле book_event хранится значение 1, а в поле product_history_id — идентификатор этой книги. С новостью может быть связана и графическая иллюстрация. В этом случае в поле have_pic хранится значение 1, а в поле pic_type — тип графического изображения. Заметим, что само изображение находится в файле, а не в базе данных. Имя этого файла образуется из идентификатора новости id и типа изображения из поля pic_type. Поле с названием spammed используется для отметки новостей, разосланных подписчикам по электронной почте. Такая рассылка выполняется по ночам в автоматическом режиме специальной программой, составленной на языке программирования JavaScript. После завершения рассылки эта программа, работающая под управлением Windows Scripting Host (WSH), отмечает разосланные новости в базе данных. Таблица Replays Просматривая страницы серверов Web Интернет-магазина, а также издательства «Русская Редакция», посетители могут оставлять свои отзывы о той или иной книги. После предварительного просмотра эти отзывы публикуются на страницах этих серверов Web (такой режим публикации называется «модерируемой публикацией или публикацией с предварительной модерацией»). Ниже мы привели исходный текст сценария SQL, предназначенного для создания этой таблицы: CREATE TABLE [dbo].[REPLAYS] ( Описание полей таблицы Вы найдете в табл. 15-13. Таблица 15-13. Поля таблицы Replays
Back-офис магазина www.itbook.ru В этом разделе мы подробно рассмотрим работу Back-офиса магазина http://www.itbook.ru. Заметим, что этот же Back-офис используется и для наполнения узла Web издательства «Русская редакция» с адресом http://www.rusedit.ru. Подключение к Back-офису В то время как приложения Front-офиса должны быть доступны всем, приложение Back-офиса необходимо защитить от неавторизованного использования. Для защиты нужно использовать все доступные средства, начиная от применения межсетевых экранов типа firewall (брандмауэров) до правильной установки прав доступа к каталогам сервера Web с файлами приложения Back-офиса. Соответствующие рекомендации имеются в литературе, посвященной администрированию сетей Microsoft Windows и сервера IIS, поэтому мы не будем останавливаться на этом вопросе. Помимо этих средств, для защиты от несанкционированного доступа используется парольная система. На рис. 15-1 мы показали страницу подключения к Back-офису, на которой нужно ввести идентификатор и пароль. Рис. 15-1. Подключение к Back-офису Главная страница управления Back-офисом После успешной аутентификации в системе администратор попадает на главную страницу управления объединенным Back-офисом Интернет-магазина и узла Web издательства «Русская редакция» (рис. 15-2). Рис. 15-2. Главная страница управления Back-офисом На главной странице системы администрирования имеются несколько разделов. Рассмотрим возможности, предоставляемые администратору в рамках этих разделов. В верхней части страницы имеется ссылка Завершить работу, с помощью которой администратор может отключиться от системы. Кнопки Издательство и Магазин предназначены для просмотра содержимого, соответственно, Web-узла издательства «Русская Редакция» и Web-узла Интернет-магазина http://www.itbook.ru. Для просмотра открываются дополнительные окна браузера. Этот раздел относится как к узлу Web издательства, так и к узлу Web Интернет-магазина. С помощью расположенной в нем ссылки Издательства можно редактировать информацию об издательствах, хранящуюся в базе данных. Аналогично, разделы Серии книг и Отзывы предназначены для редактирования информации о сериях книг и отзывах посетителей на книги. Если щелкнуть ссылку Издательства, в окне браузера появится страница со списком издательств, показанная на рис. 15-3. Рис. 15-3. Список издательств С помощью кнопки Новое издательство можно добавить информацию о новом издательстве, а с помощью кнопки Изменить — отредактировать сведения о любом выбранном издательстве. Страница добавления нового издательства показана на рис. 15-4. Рис. 15-4. Страница добавления нового издательства Чтобы добавить в базу данных информацию о новом издательстве, нужно заполнить поля в форме, показанной на рис. 15-4, а затем щелкнуть кнопку Добавить. Аналогичная форма предназначена для редактирования сведений об издательстве, хранящихся в базе данных (рис. 15-5). Рис. 15-5. Форма редактирования сведений об издательстве С помощью ссылки Серии книг можно к редактированию таблицы базы данных с информацией о сериях книг. Щелкнув ее, вы окажитесь на странице просмотра списка серий, показанной на рис. 15-6. Рис. 15-6. Просмотр списка серий книг Кнопка Новая серия позволяет добавить в базу данных информацию о новой серии книг, а кнопки Изменить — отредактировать сведения о той или иной серии книг. На рис. 15-6 мы показали верхнюю часть страницы редактирования данных серии книг. Рис. 15-7. Страница редактирования сведений о серии книг (верхняя часть) Здесь Вы можете изменить название серии, указать вес для сортировки, добавить или изменить графический логотип серии, ввести текст краткой и полной аннотации на серию. Нижняя часть страницы редактирования информации о серии книг показана на рис. 15-8. Рис. 15-8. Страница редактирования сведений о серии книг (нижняя часть) Отметив флажок Снята с продажи можно убрать серию книг с витрин узла Web издательства «Русская Редакция» и Интернет-магазина. Если серия книг не имеет отношения к издательству «Русская Редакция», ее можно снять с витрины узла Web издательства, убрав отметку с флажка Показывать на издательском сайте. Отредактировав информацию о серии книг, нужно щелкнуть кнопку Далее для изменения графического логотипа серии. Если этот логотип нужно изменить, на экране появится стандартное диалоговое окно выбора файла. При помощи этого окна можно выбрать и загрузить на сервер Web графическое изображение логотипа. Такая технология исключает необходимость загрузки файлов графических изображений по протоколу FTP и доступна для неподготовленного пользователя. Находясь в разделе отзывов (рис. 15-9), администратор может просмотреть текст новых отзывов, принять решение об их публикации или удалении, а также отправить ответ посетителю, оставившему отзыв, по электронной почте. Рис. 15-9. Просмотр новых отзывов посетителей Кнопка Опубликовать предназначена для публикации отзыва, кнопка Удалить — для удаления, а кнопка Ответить — для отправки ответа на отзыв по электронной почте. На рис. 15-10 мы показали страницу отправки отзыва. Рис. 15-10. Страница отправки отзыва Здесь администратор может прочитать отзыв, вести адрес электронной почты посетителя для отправки ответа, а также текст ответа. Щелкнув кнопку Отправить, администратор отправляет ответ посетителю по электронной почте, причем без использования почтовой программы. Витрина издательства «Русская Редакция» В этом разделе имеются ссылки Книги издательства «Русская Редакция» и Лента новостей издательства. С помощью первой ссылки можно редактировать список книг, расположенных на витрине узла Web издательства, а с помощью второй — содержание ленты новостей издательства. Раздел Книги издательства «Русская Редакция» Если войти в этот раздел, в окно браузера будет загружена страница поиска книг издательства «Русская Редакция», информация о которых хранится в базе данных (рис. 15-11). Рис. 15-11. Страница поиска книг издательства «Русская редакция» Если щелкнуть кнопку Найти книгу, в окне браузера появится полный список всех книг издательства. Администратор может ограничить поиск, указав название серии, к которой должны относиться найденные книги, название издательства, название книги, фамилия автора, номер ISBN и год издания. Дополнительно можно выбрать статус книги (издана, готовится к изданию, передана в типографию и т.п.), а также квалификацию читателя, на которую рассчитана данная книга. Отметив флажок Найти перевод книги, администратор может выполнить поиск перевода книги, сведения о которой указаны в форме поиска. На рис. 15-12 мы показали результат поиска книг из серии «Базы данных». Рис. 15-12. Результат поиска книг Щелкнув кнопку Изменить, администратор может отредактировать описание той или иной книги (рис. 15-13). Рис. 15-13. Верхняя часть первой страницы редактирования книги Здесь нужно выбрать из списка название серии книги, а также издательство, ввести название книги, имя автора и другую аналогичную информацию. На рис. 15-14 показано продолжение страницы редактирования книги. Рис. 15-14. Первая страница редактирования книги (продолжение) Здесь можно указать стоимость книги, величину скидки, количество книг в пачке (стандарт), ввести текст краткой и полной аннотации, а также указать квалификацию читателя. Нижняя часть страницы редактирования сведений о книге показана на рис. 15-15. Рис. 15-15. Нижняя часть первой страницы редактирования книги Если книга является переводом оригинальной зарубежной книги, то здесь можно ввести сведения об оригинале. Кроме того, книгу можно снять с витрины и указать, что она должна (или не должна) появляться на страницах узла Web издательства «Русская Редакция». Щелкнув кнопку Далее, администратор попадает на страницу обновления изображений обложек книги (рис. 15-16). Рис. 15-16. Обновление изображений обложек Здесь он может просмотреть изображения обложек и принять решение об их удалении или изменении. При изменении на экране появятся стандартные диалоговые окна выбора файлов изображений обложек, позволяющие обновить изображения без использования протокола FTP. Аналогичная страница предназначена для обновления файла PDF с примерами глав книги (рис. 15-17). Рис. 15-17. Обновление файла PDF с примерами глав книги Загрузка этих файлов на сервер Web выполняется через браузер аналогично загрузке файлов изображений обложки книги и логотипов серий книг. Раздел Лента новостей издательства «Русская Редакция» В этом разделе администратор может редактировать содержимое ленты новостей через окно браузера. На рис. 15-18 мы показали страницу со списком новостей. Рис. 15-18. Список новостей С помощью кнопки Добавить новость можно добавить новость в список, а с помощью кнопок Изменить и Удалить, соответственно, отредактировать сообщение ленты новостей и удалить сообщение. К сообщению можно присоединить книгу и графическое изображение. Для присоединения книги используется форма поиска, аналогичная показанной на рис. 15-11. Загрузка графических изображений выполняется с помощью стандартного окна выбора файла через браузер. Витрина магазина ITBOOK В этом разделе есть ссылки, предназначенные для редактирования книг, размещенных на витрине Интернет-магазина, ленты новостей, расположенной на первой странице Интернет-магазина, редактор рубрикатора, редактор витрины избранных книг и страница просмотра прайс-листа. Что касается ссылок редактирования книг и ленты новостей, то соответствующие им страницы устроены таким же образом, что и в только что рассмотренном разделе витрины издательства «Русская Редакция». Поэтому бы не будем на них останавливаться, а перейдем к другим разделам. Этот раздел позволяет добавить описания избранных книг на главную страницу Интернет-магазина (рис. 15-19). Рис. 15-19. Редактирование витрины избранных книг С помощью кнопки Добавить книгу можно добавить новую книгу, найдя ее на странице поиска, аналогичной показанной на рис. 15-11. Кнопки Снять с витрины предназначена для удаления книг с витрины избранных книг. На рис. 15-20 мы показали редактор рубрикатора, предназначенного для формирования и редактирования иерархической структуры рубрикатора книг. Рис. 15-20. Редактор рубрикатора книг Пользоваться этим редактором очень просто. Щелкая названия рубрик, можно раскрывать ту или иную рубрику. Инструментальные кнопки, расположенные справа от названия рубрики, позволяют ее редактировать, удалять, создавать рубрику того же или нижнего уровня. Находясь в списке просмотра книг (рис. 15-12), можно щелкнуть кнопку Рубрика для размещения выбранной книги в одной или нескольких рубриках. Соответствующая страница показана на рис. 15-21. Рис. 15-21. Страница размещения книги в рубриках В верхней части этой страницы находится название книги. Отметив нужные флажки, можно добавить книгу в ту или иную рубрику. После этого нужно щелкнуть кнопу Обновить (на рис. 15-21 не показана) для изменения информации о рубриках в базе данных. Back-офис Интернет-магазина предоставляет все необходимые возможности для обработки заказов посетителей. Щелкнув ссылку Новые заказы доставка курьером, Новые заказы по предоплате или Новые заказы наложенным платежом, администратор попадает на страницу просмотра списка новых заказов, показанную на рис. 15-22. Рис. 15-22. Страница просмотра новых заказов с доставкой курьером Каждая строка списка, представленного на этой странице, соответствует заказам одного посетителя. С помощью кнопки Новые можно просмотреть новые заказы посетителя, а с помощью Обработанные — заказы, которые были обработаны ранее администратором магазина. На странице просмотра заказа можно выполнить его обработку, а также выписку счета. Счет появляется в окне браузера в виде, пригодном для печати на принтере. Аналогичным образом можно просмотреть список обработанных заказов, воспользовавшись для этого ссылкой Обработанные заказы доставка курьером, Обработанные заказы по предоплате и Обработанные заказы наложенным платежом. Для автоматического расчета стоимости доставки заказанных книг в базе данных Интернет-магазина хранится информация о тарифных поясах. Щелкнув ссылку Таблица расстояний и тарифных поясов, администратор оказывается на странице, показанной на рис. 15-23. Рис. 15-23. Страница редактирования таблицы расстояний и тарифных поясов Здесь можно добавить новый регион доставки и выбрать для него тот или иной тарифный пояс. Ссылка Тарифные пояса (рис. 15-2) позволяет отредактировать стоимость доставки в различные тарифные пояса. В разделе учетных записей (рис. 15-2) есть ссылка Клиенты для работы с учетными записями зарегистрированных посетителей. Если щелкнуть эту ссылку, Вы окажитесь на странице поиска клиентов, показанную на рис. 15-24. Рис. 15-24. Страница поиска учетных записей клиентов Здесь администратор может получить список клиентов, зарегистрированных с определенным адресом электронной почты, зарегистрированных или подключившихся с определенного адреса IP, а также имеющих тот или иной статус (обычный покупатель, оптовик, и т.д.). Можно также сделать отбор записей клиентов по дате регистрации или последнего подключения к Интернет-магазину. На рис. 15-25 мы показали результат поиска клиента. Рис. 15-25. Просмотр списка найденных клиентов В этом списке отображается такая информация о регистрации клиента, как адрес электронной почты, дата и адрес IP регистрации и подключения к системе. Щелкнув кнопку Изменить, можно изменить содержимое учетной записи клиента. Кнопка Удалить позволяет удалить регистрационную информацию из базы данных. При помощи кнопок Новые и Обработанные администратор может просмотреть список, соответственно, новых и обработанных заказов клиента. На рис. 15-26 мы показали страницу, предназначенную для редактирования учетной записи зарегистрированного посетителя. Рис. 15-26. Редактирование учетной записи посетителя Здесь администратор может изменить адрес электронной почты посетителя, его пароль, секретный вопрос и ответ на него (эта информация нужна для восстановления забытых паролей), контактную информацию, состояние флажка подписки на новости Интернет-магазина и статус посетителя. Front-офис магазина www.itbook.ru В этом разделе мы расскажем о том, как устроен Front-офис магазина http://www.itbook.ru, то есть Web-приложение, при помощи которого посетители магазина выбирают и приобретают товар. В Интернет-магазине ITBOOK.RU имеется несколько витрин, предназначенных для размещения книг. Прежде всего, это витрина избранных книг, расположенная в центральной части главной страницы магазина (рис.15-27).
Рис. 15-27. Главная страница Интернет-магазина Щелкнув кнопку В корзину, посетители могут добавить книгу в электронную корзину покупателя непосредственно с главной страницы магазина (об электронной корзине мы расскажем чуть позже). Рядом с кнопкой находится поле, в котором можно указать количество приобретаемых книг. Другая витрина — это тематический указатель, показанный на рис. 15-28.
Рис. 15-28. Тематический указатель Инетрнет-магазина Выбрав ту или иную рубрику в тематическом указателе, посетитель получит список книг, добавленных в данную рубрику администратором Интернет-магазина. В левой части каждой страницы магазина тематический указатель представлен в виде списка рубрик. Щелкнув рубрику, можно ее раскрыть для просмотра содержимого. Далее, в верхней части любой страницы Интернет-магазина есть список серий и кнопка Поиск по сериям. Выбрав интересующую серию, посетитель может просмотреть список имеющихся в ней книг. Еще один способ выбрать книгу — найти ее с помощью системы поиска. В простом режиме поиска посетителю достаточно набрать в поле, расположенном рядом с кнопкой Поиск, название книги, имя автора или ключевые слова, встречающиеся в названии, аннотации или имени автора, а затем щелкнуть эту кнопку. Чтобы перейти на страницу расширенного поиска, нужно щелкнуть ссылку Расширенный поиск, расположенную в верхней части каждой страницы магазина (рис. 15-29).
Рис. 15-29. Страница расширенного поиска Как видите, посетитель может здесь ввести расширенную информацию для поиска, указав, например, название серии книг или издательства, название книги, фамилию автора, года издания и т.д. Щелкнув кнопку Найти, посетитель попадет на страницу просмотра списка найденных книг. Эта страница показана на рис. 15-30.
Рис. 15-30. Страница поиска найденных книг Здесь представлена краткая информация о книге — рисунок обложки уменьшенного размера, название, фамилия автора, краткая аннотация и т.д. С помощью кнопки В корзину посетитель может отложить понравившуюся ему книгу для покупки. Щелкнув название книги или изображение обложки, посетитель попадает на страницу просмотра подробной информации о книге, показанную на рис. 15-31.
Рис. 15-31. Страница просмотра подробной информации о книге Обратите внимание, что здесь посетителю предлагается оценить книгу, установив один из флажков в поле Оценка читателей и щелкнув кнопку Оценить. На странице подробного просмотра информации о книге есть раздел с названием «Те, кто купил эту книгу, также читают» (рис. 15-31). В этом разделе перечислены книги, которые чаще всего покупаются вместе с данной книгой. Как мы уже говорили, для получения этой информации Back-офис Интернет-магазина обрабатывает таблицу заказов покупателей, причем эта обработка выполняется каждую ночь. И, наконец, последний способ получения информации о книгах, имеющихся в продаже, это загрузка полного списка книг в файле (рис. 15-32).
Рис. 15-32. Получение полного списка книг в файле Файлы со списком книг создаются автоматически на основании информации, представленной в базе данных. Эта процедура, так же как и процедура обработки статистической информации о покупках, выполняется ночью в пакетном режиме. Программа, выполняющая подготовку списка книг, составлена на языке программирования JavaScript и работает под управлением Windows Scripting Host (WSH). Вначале она создает два файла, один из которых представляет собой отформатированную текстовую таблицу, а второй — текстовую таблицу, столбцы которой разделены символами табуляции (этот файл предназначен для загрузки данных в Microsoft Excel). Далее программа запускает программу упаковки, формируя два архива, показанных на рис. 15-32. Как видно из этого рисунка, упаковка позволяет заметно сократить размеры файлов, что имеет значение при их загрузке через медленные каналы Интернета. Для отбора покупок в магазине ITBOOK.RU предусмотрена электронная корзина. Чтобы «положить» в нее ту или иную книгу, достаточно щелкнуть кнопку В корзину, присутствующую на витрине главной страницы (рис. 15-27), в списке найденных книг (рис. 15-30), а также на странице просмотра подробной информации о книге (рис. 15-31). Рядом с этой кнопкой имеется поле, в котором можно ввести количество приобретаемых книг того или иного наименования. Обратите внимание на левый верхний угол главной страницы Интернет-магазина (рис. 15-33).
Рис. 15-33. Кнопка просмотра содержимого корзины Здесь находится кнопка Корзина, при помощи которой посетители могут просмотреть, а также изменить содержимое своей корзины (рис. 15-34). Рядом с этой кнопкой показано, сколько книг отобрано в корзину и на какую сумму.
Рис. 15-34. Просмотр содержимого электронной корзины покупателя Напротив каждой книги в таблице книг, отобранных для покупки, имеется поле количества и флажок Отказ от покупки. Изменив количество приобретаемых книг или отказавшись от покупки, посетитель должен щелкнуть кнопку Пересчитать, после чего будет автоматически пересчитана общая стоимость приобретаемых книг. Для оформления покупки посетитель должен выбрать способ доставки, щелкнув кнопку Доставка курьером по Москве или Доставка почтой. При этом в окно браузера будет загружена страница оформления заказа, показанная на рис. 15-35.
Рис. 15-35. Страница оформления заказа. Здесь посетитель должен ввести сведения, необходимые для доставки заказа, а затем щелкнуть кнопку Купить. Оформленный заказ будет записан в базу данных для дальнейшей полуавтоматической обработки администратором Интернет-магазина. В любом обычном магазине имеется книга отзывов и предложений. Интернет-магазин ITBOOK.RU не является исключением — в нем также предусмотрена возможность отправки отзыва администрации магазина. Для этого предназначен раздел Пишите нам, показанный на рис. 15-36.
Рис. 15-36. Отправка отзыва администрации Интернет-магазина Чтобы отправить отзыв, посетитель может (но не обязан), указывать свое имя, псевдоним или адрес электронной почты. Набрав текст отзыва в поле Сообщение, посетитель может отправить его администратору магазина по электронной почте, щелкнув кнопку Отправить. При этом ему не понадобится почтовая программа, так как сервер Web сам сделает все необходимое. Front-офис узла www.rusedit.ru Как мы уже говорили, Front-офис узла издательства компьютерной литературы «Русская Редакция» http://www.rusedit.ru обращается к той же базе данных, что и Front-офис Интернет-магазина ITBOOK.RU. Фактически этот узел предоставляет пользователям еще один взгляд на описанную в этой главе базу данных. Главная страница узла Web http://www.rusedit.ru показана на рис. 15-37. Рис. 15-37. Главная страница узла Web http://www.rusedit.ru Здесь есть разделы со статической информацией (об издательстве, вакансии, услуги, карта сайта, Продажа книг оптом, Продажа книг в розницу, Рейтинг продаж и Помощь), не привязанной к базе данных, а также разделы, страницы которых наполняются динамически информацией о книгах, хранящейся в базе данных. Витрина узла Web http://www.rusedit.ru призвана предоставлять информацию о книгах, выпущенных издательством «Русская Редакция». Она включает в себя систему поиска книг, список серий книг и ленту новостей. Поиск книг устроен аналогично тому, как это сделано в только что рассмотренном Интернет-магазине. Страница расширенного поиска имеет примерно тот же вид, что был показан на рис. 15-29, и обладает такими же возможностями. В центральной части главной страницы узла Web http://www.rusedit.ru имеется список серий книг, выпущенных издательством «Русская Редакция». Чтобы просмотреть список книг выбранной серии, достаточно щелкнуть название серии мышью. Заметим, что список серий формируется динамически на основании содержимого соответствующей таблицы базы данных. Результат поиска книги или отбора книг по серии показан на рис. 15-38.
Рис. 15-38. Страница просмотра списка найденных книг Как видите, она аналогична странице, показанной на рис. 15-30, но в ней нет кнопки, предназначенной для приобретения книги. Чтобы купить книгу, Вы должны щелкнуть ссылку ИНТЕРНЕТ-МАГАЗИН, расположенную в левой части каждой страницы узла Web http://www.rusedit.ru. Щелкнув название книги или изображение ее обложки, посетитель попадет на страницу просмотра подробной информации о книге, имеющий примерно такой же вид, что и соответствующая страница Интернет-магазина (рис. 15-31). Здесь, однако, не предусмотрено кнопки для покупки книги. Щелкнув ссылку ПЛАНЫ ИЗДАТЕЛЬСТВА, расположенную в левой части каждой страницы узла Web http://www.rusedit.ru, Вы увидите страницу, показанную на рис. 15-39.
Рис. 15-39. Просмотр планов издательства «Русская Редакция» Здесь перечислены книги, готовящиеся к изданию, книги, сданные в типографию, а также книги, на которые объявлена подписка. Соответствующие списки книг формируются динамически на основании информации, хранящейся в базе данных, поэтому данный раздел узла Web (как и большинство других страниц) не требует дополнительного сопровождения со стороны Web-мастера. Аналогичным образом формируется раздел книжного архива, на страницу которого можно попасть при помощи ссылки АРХИВ (рис. 15-40).
Рис. 15-40. Страница просмотра книжного архива В этом разделе перечислены все книги, выпущенные издательством «Русская Редакция», причем приведенный список отсортирован по названию серий. Щелкнув ссылку ПИШИТЕ НАМ, посетители узла Web http://www.rusedit.ru смогут направить отзыв в издательство «Русская Редакция» по электронной почте без использования почтовой программы. Соответствующая страница показана на рис. 15-41.
Рис. 15-41. Отправка отзыва в издательство «Русская Редакция» Как видите, эта страница аналогична странице отправки отзывов Интернет-магазина. |