
- •Раздел 1 актуальность и методы реализации сайта-витрины……………………………………………….………………………...9
- •Раздел 2 методы и механизмы разработки
- •Раздел 3 создание модуля каталога товаров………..…..…68
- •Раздел 1
- •. Актуальность разработки сайтов-витрин
- •1.2. Анализ cms
- •1.2.1.Реализация сайтов на cms “WordPress”
- •1.2.2. Реализация сайтов на cms “Drupal”
- •1.2.3. Реализация сайтов на cms “Joomla”
- •1.2.4. Реализация сайтов на cms “ExpressionEngine”
- •1.2.5. Реализация сайтов на cms “Textpattern”
- •1.2.6. Реализация сайтов на cms “dle”
- •1.2.7. Реализация сайтов на cms “1с-Битрикс”
- •1.2.8. Реализация сайтов на cms “modx”
- •1.3. Сравнительный анализ подобных проектов
- •1.3.1. Интернет-витрина компании “Згода-с”
- •1.3.2. Веб витрина и корпоративный портал компании фот
- •1.3.4. Сайт фирмы “Euroboor”
- •1.3.5. Сайт-витрина компании “Baby Room Boom”
- •1.3.6. Сайт-витрина фирмы “Vents”
- •1.3.7. Сайт “e-Katalog”
- •Раздел 2 методы и механизмы разработки сайта-витрины
- •2.2. Сравнительный анализ редакторов кода
- •2.2.1. Редактор кода “Sublime Text ”
- •2.2.2. Редактор кода “AkelPad”
- •2.3. Сравнительный анализ субд
- •2.3.1. Субд “Microsoft sql Server”
- •2.3.2. Субд “Oracle Database”
- •2.3.3. Субд “MySql”
- •Раздел 3 создание модуля каталога товаров
- •3.1. Структура базы данных
- •3.2. Описание стандартных функций компонентов
- •3.2.1. Класс db
- •3.2.2. Класс template
- •3.3. Алгоритм работы модуля
- •3.4. Руководство пользователя
1.2.2. Реализация сайтов на cms “Drupal”
Drupal (от голл. druppel — капля) — система управления сайтом, написанная на языке PHP и использующая в качестве хранилища содержания реляционную базу данных (поддерживаются MySQL, PostgreSQL, а также любые СУБД поддерживаемые библиотекой PEAR). Drupal является свободным программным обеспечением защищённым лицензией GPL и создаётся усилиями энтузиастов со всего мира. Начал разработку голландец Dries Buytaert, который и поныне является руководителем проекта. На рисунке 1.2 показан логотип Drupal.
Рис. 1.2. Логотип CMS “Drupal”
Это пожалуй наиболее гибкая и функциональная система среди бесплатных. Система имеет множество полезных настроек. когда у сайта возникнет потребность в какой-либо нестандартной функциональности, то с большой долей вероятности эту задачу возможно решить даже не прибегая к услугам программистов. Система отлично поддается тонкой настройке и позволяет очень экономить на поддержании и сопровождении сайта. При использовании Drupal понадобятся хорошие знания английского языка, чтобы при модификации сайта правильно устанавливать дополнения.[5]
Drupal подходит как для создания простых, так и для создания сложных веб-сайтов. Главными преимуществами Drupal являются:
1) Совместимость с кросс-платформами;
2) Наличие множества бесплатных тем и шаблонов, которые могут предоставить самые разнообразные решения в дизайне сайта, но не все из них русифицированы;
3) Способность создания многоязычных веб-сайтов;
4) Мощная админпанель;
5) Позволяет пользователям находить, управлять и структурировать содержание очень легко, независимо от его размера;
6) Обеспечивает гибкость в выборе формата постов из админ-панели (HTML, full HTML и PHP);
7) Более легкое администрирование сайта в сравнении с другими CMS;
8) Хороший набор разных плагинов и дополнений;
9) Большое русскоязычное и англоязычное коммьюнити (в том числе большие форумы);
10) Относительно легкая установка;
11) Продуманная система безопасности, что очень важно для любой CMS.
Drupal достаточно хорошо подходит для создания различных бизнес проектов, и продолжает дальше развиваться в этом направлении. Чаще всего на этой CMS создаются корпоративные сайты, персональные сайты (например, сайты-визитки или личные портфолио), блоги (многие считают, что Drupal сильно уступает WordPress в этом плане), соц. сети и интернет-магазины.[6]
Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и форумов, до информационных архивов или сайтов новостей. Функциональность обеспечивается подключаемыми модулями, обращающимися к общему API Drupal. Стандартный набор модулей включает, например, такие функции как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосования, поиск и др. Большое количество дополнительных модулей, значительно расширяющих базовые функции можно скачать с официального сайта.
В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов. С помощью подобной схемы одними и теми же модулями возможна организация различных вариантов структуризации содержимого. Например, легко создаётся сквозной список «ключевых слов» для всех документов сайта и т. п.[7]
Дизайн сайта на Drupal строится на основе сменных тем оформления. Как таковой нет единственной схемы построения дизайна, взамен Drupal даёт возможность использовать различные «движки» тем, использующие шаблоны удобные для редактирования (шаблоны XML в движках xtemplate и Smarty или шаблоны на HTML+встроенный PHP в движке phptemplate и т. п.), либо создавать темы оформления напрямую обращающиеся к API Drupal.
Начиная с версии 4.7 Drupal поддерживает технологию Ajax, для динамической подгрузки содержимого без полного обновления страниц.
Модуль в Drupal это не законченный элемент, который можно использовать для построения готового элемента сайта. Модуль в Drupal это элемент из которого можно создать требуемый функционал на низком уровне. Например для построения готового каталога потребуется модули для создания типа страниц CCK, модули необходимых полей в документе, модули выбора документов в необходимой иерархии, модуль “капча” для защиты от спама и другие, в зависимости от требуемого функционала сайта.
Drupal обладает интересными особенностями. Есть возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками), раздельные конфигурации сайта для различных виртуальных хостов (в том числе собственные наборы модулей и тем оформления для каждого подсайта), механизм для ограничения нагрузки на сайт (автоматическое отключение при высокой посещаемости части информационных блоков и модулей).
Критики Drupal ставят в упрёк разработчикам слабое использование объектных возможностей PHP. Действительно, API Drupal практически не использует имеющихся в PHP возможностей ООП. Разработчики аргументируют это слабой реализацией ООП в языке (особенно до версии PHP 5). Объектная модель в Drupal присутствует, но в несколько нетрадиционном для PHP виде.
Ввиду активного использования базы данных Drupal может быть слишком тяжёл для ресурсов, предоставляемых на дешёвых тарифных планах хостинг-провайдеров, хотя для небольших сайтов с посещаемостью в несколько сотен или тысяч посетителей в сутки этих ресурсов будет достаточно. Здесь многое зависит от грамотных настроек. Лучше выбирать хостинги, специально настроенные под Drupal: nginx 0.6.31 + php5-fcgi, например.[8]
Drupal не рекомендуется устанавливать новичкам, а также на совсем простые сайты. Но если предусматривается дальнейшее развитие сайта и наращивание его функциональности, то Drupal будет хорошим решением.