Разработка информационного web-сайта на основе системы «1С-Битрикс: Управление сайтом»

Автор работы: Пользователь скрыл имя, 29 Апреля 2014 в 17:16, дипломная работа

Краткое описание

Web-приложение – клиент-серверное приложение, в котором сервером выступает web-сервер, клиентом программа или устройство, способное получить доступ к web-серверу. Логика web-приложения распределена между сервером и клиентом, хранение данных осуществляется преимущественно на сервере, обмен информацией происходит по сети.
Web - сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.
CMS (Content management system) – компьютерная система или программа, используемая для обеспечения и организации совместного процесса создания, редактирования и управления текстовыми и мультимедиа документами.

Содержание

Обозначения и сокращения 6
Определения 7
Введение 9
1. Описание основных используемых технологий и языков программирования 10
1.1. Общие сведения 10
1.2. Язык программирования PHP 10
1.3. Web-сервер Apache 11
1.4. СУБД MySQL 12
1.5. Язык программирования JavaScript 12
1.6. Технология AJAX 13
1.7. Таблица стилей CSS 14
1.8. Общая схема работы web-приложения 14
2. Описание системы «1С – Битрикс: Управление сайтом» 16
2.1. Общие сведения 16
2.2. Преимущества и недостатки системы 16
2.3. Целесообразность использования системы 18
2.4. Сравнение с другими системами 19
3. Описание API системы «1С – Битрикс: Управление сайтом» 21
3.1. Общие сведения 21
3.2. API модуля «Главный модуль» 21
3.3. API модуля «Информационные блоки» 23
4. Формирование требований к сценариям работы web-приложения 26
4.1. Общие сведения 26
4.2. Список требований 26
5. Диаграмма информационных блоков 29
5.1. Общие сведения 29
5.2. ER – диаграмма данных web-приложения 29
5.3. Определение информационных блоков 31
6. Описание программных компонентов 34
6.1. Создание общей структуры страниц web-приложения 34
6.2. Реализация структуры страниц web-приложения, физическая структура 36
6.3. Список программных компонентов 39
6.3.1. Компонент «Список всех игр» 39
6.3.2. Компонент «Список новых и выходящих игр» 40
6.3.3. Компонент «Список лучших игр» 42
6.3.4. Компонент «Список 100 лучших игр» 43
6.3.5. Компонент «Фильтр по играм» 44
6.3.6. Компонент «Поиск по играм» 45
6.3.7. Компонент «Автоподсказки в поиске» 46
6.3.8. Компонент «Список обзоров к игре» 47
6.3.9. Компонент «Детальная страница игры» 48
6.3.10. Компонент «Форма поиска» 48
6.3.11. Компонент «Страница разработчика игры» 49
6.3.12. Компонент «Список лучших игр за год» 50
6.4. Диаграмма связей между страницами web-приложения и компонентами 51
6.5. Особенности реализации сценариев работы web-приложения. 51
6.5.1. Общие сведения 51
6.5.2. Сохранение состояния страниц при использовании AJAX – запросов 52
6.5.3. Обработка событий панели управления. 55
7. Резервное копирование данных web-приложения. Система управления версиями 59
7.1. Общие сведения 59
7.2. Реализация резервного копирования 59
7.3. Система управления версиями 62
7.3.1. Описание системы Subversion 62
7.3.2. Настройка Subversion для работы с web-приложением 64
8. Нагрузочное тестирование 69
8.1. Общие сведения 69
8.2. Техника проведения нагрузочного тестирования 69
8.3. Оценка результатов тестирования 71
Заключение 76
Список использованных источников 77
Приложение A. Принцип работы системы «1С – Битрикс: Управление сайтом» 78
А.1. Общие сведения 78
А.2. Модульная структура системы 78
А.2.1. Главный модуль 79
А.2.2. Модуль «Управление структурой» 79
А.2.3. Модуль «Информационные блоки» 80
А.3. Компоненты 81
А.3.1. Общие сведения 81
А.3.2. Файловая структура компонента 81
А.3.3. Схема обмена данными между файлами компонента 85
А.3.4. Публичный раздел системы 87
А.3.4.1. Порядок загрузки страницы web-приложения 87
А.3.4.2. Подключение модулей системы 87
А.3.4.3. Подключение шаблонов web-приложения 88
А.3.4.4. Подключение компонентов web-приложения 88
Приложение Б. Требования заказчика к работе web-приложения и дизайн-концепция 90
Приложение В. Исходные коды программных компонентов 95
В.1. Компонент games.calendar 95
В.2. Компонент games.raiting 99
В.3. Компонент games.filter 102
В.4. Компонент games.search 113
В.5. Компонент games.detail 117
В.6. Компонент search_autocomplete 121
В.7. Компонент reviews.list 126

Прикрепленные файлы: 1 файл

СОЗДАНИЕ САЙТА.doc

— 1.87 Мб (Скачать документ)

lang / ru (или идетификатор другого языка) - внутри данной папки содержатся файлы с расширением .php и именем, соответствующим именам файлов, находящихся на одном уровне с папкой lang. Содержимое файла является сценарием на языке PHP, в котором определяется массив $MESS, ключами которого являются идентификаторы языковых фраз, значениями – сами языковые фразы. Например

<?php $MESS[“EMPTY_LIST”] = “Ничего не найдено”; ?>

После того, как этот массив определен, языковые фразы будут доступны в одноименном файле с помощью функции API системы GetMessage, например:

<?php echo GetMessage(“EMPTY_LIST”); ?>

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

parameters.php – файл компонента, в котором производится настройка параметров компонента. В сценарии, находящемся в данном файле, также возможны запросы к базе данных, вычисления и т.д., аналогично файлу component.php. В конечном итоге, сценарий файла .parameters.php сводится к определению массива $arComponentParameters, который имеет следующую структуру:

$arComponentParameters = array(

  “GROUPS” => array(

    “идентификатор_группы_N” => array(

        “NAME” => “имя_группы”

    ),

  ),

  “PARAMETERS” => array(

    “идентификатор_параметра_N” => array(

      “NAME” => “имя_параметра”,

      “TYPE” => “тип_параметра”,

     “PARENT” => “идентификатор_группы”,

    )

  ));

description.php – файл, в котором содержится сценарий, определяющий второе имя компонента (первым является имя папки компонента), описание компонента и схему расположения компонента в разделе «Компоненты 2.0» визуального редактора административного раздела системы. Работа сценария в конечном итоге сводится к определению специального массивa $arComponentDescription:

$arComponentDescription = array(

  “NAME” => “имя_компонента”,

  “DESCRIPTION” => “описание_компонента”,

  “PATH” => array(

    “ID” => “идетификатор_ветки_визуального_редактора”,

    “NAME” => “имя_ветки_редактора”

  )

);

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

templates / .default (другой шаблон) – папка конкретного шаблона. Шаблонов компонента может быть несколько.

templates / .default / template.php – файл, содержащий сценарий, определяющий дополнительные параметры компонента для конкретного шаблона. Сценарий файла сводится в конечном итоге к определению массива $arTemplateParameters, во многом схожего с описанным выше массивом $arComponentParameters.

$arTemplateParameters = array(

  “идентификатор_параметра_N” => array(

    “NAME” => “имя_параметра”,

    “TYPE” => “тип_параметра”,

  )

);

templates / .default / style.css – файл, в котором расположены стили CSS, которые будут переданы web-клиенту вместе с выводом шаблона для последующего отображения пользователю.

templates / .default / script.js – файл, в котором расположены сценарии JavaScript, которые будут переданы web-клиенту вместе с выводом шаблона.

templates / .default / template.php – файл, содержащий в себе сценарий, реализующий вывод данных в виде HTML – разметки или в другом виде, понятном web-клиенту или другому устройству, обращающемуся к web-приложению.

templates / .default / lang – аналогична папке lang, описанной выше.

templates / .default / images – папка, в которой содержатся дополнительные изображения, используемые в шаблоне.

templates / .default / result_modifirer.php – дополнительный сценарий, который выполняется перед выполнением сценария шаблона компонента

А.3.3. Схема обмена данными между файлами компонента

Любой компонент должен быть вызван в сценарии страницы web-приложения. Точная процедура вызова будет описана в разделе 3.4.4., но будем считать, что web-страница передает данные компоненту в момент вызова последнего.

 


Рисунок А.1 – Схема обмена данными между файлами компонента

На рисунке А.1 представлена схема обмена данными между сценариями компонента при вызове компонента на странице web-приложения.

При вызове компонента в сценарии web-страницы указываются значения параметров компонента, которые затем посредством массива $arParams передаются в сценарий файла component.php.

В сценарии файла component.php посредством метода IncludeComponentTemplate класса CBitrixComponent происходит вызов одного из шаблонов компонента. id шаблона также определяется в сценарии страницы web-приложения и неявно для разработчика передается указанный выше метод. Соответственно, подключается сценарий файла template.php одного из шаблонов, в который передается возможно измененный в сценарии component.php массив $arParams и, также, сформированный в сценарии component.php массив $arResult. Оба этих массива доступны также и в файле result_modifier.php, который подключается перед подключением файла template.php.

Работа компонента заканчивается в момент завершения работы сценария файла component.php, т.е. возможно выполнить действия уже после подключения шаблона. Однако, если массив $arResult будет изменен в сценарии шаблона, в сценарий файла компонента component.php измененные данные переданы не будут.

А.3.4. Публичный раздел системы

А.3.4.1. Порядок загрузки страницы web-приложения

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

Ниже приведены основные этапы, которая страница проходит при загрузке системой. Часть этапов опущена, т.к. не имеет смысловой загрузки для разработки проектного web-приложения.

  1. Подключение /bitrix/php_interface/dbconn.php
  2. Соединение с базой данных. Создается объект $DB класса CDatabase
  3. Подключение /bitrix/php_interface/after_connect.php
  4. Определение текущего сайта. Создается объект $APPLICATION класса CMain и определяются константы SITE_ID, SITE_DIR, SITE_SERVER_NAME, SITE_CHARSET, FORMAT_DATE, FORMAT_DATETIME, LANGUAGE_ID. Также подключаются все классы и функции главного модуля.
  5. Подключение /bitrix/php_interface/init.php
  6. Открытие сессии. Создаются все переменные массива $_SESSION.
  7. Определение пользователя, авторизация. Создается объект CUser $USER.
  8. Определение текущего шаблона сайта
  9. Начало буферизации вывода
  10. Подключение /bitrix/templates/ID шаблона сайта/header.php
  11. Вывод тела страницы в буфер
  12. Подключение /bitrix/templates/ID шаблона сайта/footer.php
  13. Завершение буферизации страницы
  14. Завершение соединения с базой данных. Переменная $DB более недоступна.

А.3.4.2. Подключение модулей системы

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

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

CModule::IncludeModule(“имя_модуля”)

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

А.3.4.3. Подключение шаблонов web-приложения

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

<?php require_once($_SERVER[“DOCUMENT_ROOT”].”/bitrix/header.php”) ?>

 

-------------------Любой сценарий, текст, и т.д.---------------------

 

<?php require_once($_SERVER[“DOCUMENT_ROOT”].”/bitrix/footer.php”) ?>

А.3.4.4. Подключение компонентов web-приложения

Для того, чтобы вызвать компонент, необходимо также воспользоваться API модуля «Главный модуль», вызвав специальный метод класса CMain, который представлен на странице объектом $APPLICATION:

$APPLICATION -> InculdeComponent(

  “пространство_имен_компонентов:имя_компонента”,

  “id_шаблона_компонента”,

   Array(

     ”Ключ_параметра_1” => ”значение_параметра_1”,

     ”Ключ_параметра_N” => ”значение_параметра_N”

   ) //массив значений  параметров компонента

);

Первый параметр данного метода определяет имя подключаемого компонента, перед которым через символ ”:” указывается имя пространства имен компонентов.

Второй параметр определяет идентификатор шаблона, который следует подключить в компоненте.

Третий параметр компонента – это массив значений параметров компонента, ключами которого являются идентификаторы параметров, значениями – значения параметров.

 

Приложение Б. Требования заказчика к работе web-приложения и дизайн-концепция

 

Задание на разработку сайта metagames.ru


Информационная архитектура

 

Структура

  1. Главная
  • Рейтинг игр за последние 12 месяцев
  • График выхода
  • Новые игры, появившиеся в базе
  1. Список игр с алфавитным указателем

Компонент «список игр»

  1. Детальная страница игры

Компонент «детальная страница игры»

  1. Страница с рейтингом

Компонент «список игр»

Компонент «фильтры»

  1. Страница с результатами поиска

Компонент «результаты поиска»


Функционал

 

Компонент «Детальная страница игры»

Для каждой игры должна выводится следующая информация:

Базовая информация:

  1. Название игры
  2. Название игры на английском (если русское название отлично)
  3. Официальное изображение игры (обложка игры)
  4. Метаоценка
  5. Оценка пользователей
  6. Разработчик
  7. Жанр
  8. Дата выхода в России
  9. Возраст
  10. Краткая информация об игре
  11. Кнопка «купить на ozon.ru»
  12. Скриншоты (При нажатии на скриншот, он показывается в оригинальном размере)

Также, в виде дополнительной вкладке над зоной со скриншотами у пользователя есть возможность переключиться на:

  1. Видеотрейлер

Дополнительная информация:

  1. Системные требования (при нажатии показывается divс минимальными и рекомендуемыми системными требованиями)
  2. Возможность мультиплеера
  3. Другие платформы на которых представлена игра
  4. Дополнения

Кроме того, для каждой игры выводится две оценки:

  • метаоценка(и ссылка «как получена»)

Внизу располагается зона «обзоры», в которой идёт список рецензий. Для каждой рецензии выводится:

  1. Итоговая оценка
  2. Название издания
  3. Первые несколько строк рецензии
  4. Ссылка «Прочесть полную рецензию на сайте издания»

Компонент «рейтинги»

Компонент выводится на главной странице и представляет из себя рейтинг 10 игр с наивысшей метаоценкой за последние 12 месяцев.  1ая игра отображается крупно. Остальные – списком. Снизу располагается ссылка «посмотреть весь рейтинг», ведущая на страницу «лучшие игры».

Над рейтингом располагается вкладка «Самые ожидамые», выводящая в таком же формате рейтинг самых ожидаемых игр.

 

Компонент «форма поиска»

Компонент представляет из себя стандартное текстовое поле для ввода и кнопку или иконку «искать». Как только пользователь начинает набирать текст, ему автоматически должны отображаться подсказки (в виде игр, названия которых начинаются с этих же букв).

 

Компонент «результаты поиска»

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

Информация о работе Разработка информационного web-сайта на основе системы «1С-Битрикс: Управление сайтом»