Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комаров Дмитрий - Разработка сайта для строител...doc
Скачиваний:
7
Добавлен:
25.09.2019
Размер:
7.95 Mб
Скачать

3.1.2.20.Таблица special_pages_settings

Таблица special_pages_settings (см. структуру в табл. 3.20) хранит настройки для добавляемых в качестве активного содержимого страниц, формируемых плагинами.

Таблица 3.20 Структура таблицы special_pages_settings

назв.-е поля

тип данных

умолч.

описание

мод.

page_id

INT

ссылка на страницу, к активному содержимому которой применяются настройки

NN, UQ

setting_key

TEXT

название настройки

setting_value

TEXT

значение настройки

Внешние ключи:

  • pages.node_id [1 к 1] node.id

3.2.Разработка модулей сайта

Схема взаимодействия основных модулей сайта показана на рис. 3.2. Стрелочками показаны вызовы модулей.

Рис 3.2 Основные модули сайта

На рисунке 3.3 представлен алгоритм работы сметного калькулятора отделки помещения

3.2.1.Главный модуль

Главный модуль является модулем редиректа и формирования страницы из шаблона.

Сайт содержит единственную точку входа (index.php), в которую через параметры передаются имя страницы для отображения и прочие параметры. Для того, чтобы адреса страниц «красиво» отображались в браузере, используется модуль mod_rewrite сервера Apache. Например, адрес http://stroytime-pskov.ru/news/2 будет преобразовываться в http://stroytime-pskov.ru/index.php?pagename=news&page=2 Логику и данные планируется отделить от представления (частичная реализация паттерна проектирования MVC (Model-Viewer-Controller)) – точка входа будет искать шаблон страницы и соответствующий ему класс контроллера для обработки входных параметров. Папки шаблонов страницы и скриптов будут недоступны для просмотра благодаря настройкам Apache.

Если главный модуль не может обработать запрос на выдачу страницы, он открывает страницу сайта по умолчанию (главную страницу сайта).

3.2.2.Модуль показа новостей

Входные параметры: [страница новостей, число новостей на странице (10 по умолчанию), число первых символов] либо [идентификатор новости].

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

3.2.3.Модуль работы с электронной почтой

Реализация функции Mail.Send(chat_message_id: int).

Mail.Send(recipient: string, node_id: int).

3.2.4.Модуль сметного калькулятора

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

Рис 3.3 Алгоритм работы сметного калькулятора

3.2.5.Модули администрирования

3.2.5.1.Модуль редактирования страниц сайта

На рисунке 3.4 представлен алгоритм редактирования страниц сайта.

Рис 3.4 Алгоритм редактирования страниц сайта

3.3.Разработка скриптов и сценариев

Для сайта разрабатывался сценарий на JavaScript, взаимодействующий с Google Maps API и отображающий выполненные организацией строительные объекты на карте города. Координаты объекта берутся из базы данных и формируются в коде web-страницы как код JavaScript, задающий константы.

3.4.Разработка средств администрирования сайта

Разработаны средства изменение ролей пользователей, редактирования значений ячеек таблиц баз данных вручную, средства резервного копирования базы данных.

4.РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

4.1.Шаблон страницы

Шаблон страницы web-сайта представляет собой разграничение различных областей web-страницы, в которых производится вывод информации, доступной пользователю. Создание шаблона страниц помогает правильно разместить информацию на страницах web-сайта и чётко разграничить области отображения той или иной информации.

Шаблон страницы был спроектирован в векторном графическом редакторе InkScape. (см. рис. 4.1)

Рис. 4.1 Шаблон страницы сайта

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

Боковая панель содержит меню, прикреплённое к странице в её настройках.

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

В «подвале» сайта представлена контактная информация создателя сайта и счётчики посещений.