Содержание


Разработка Web-сайта на основе CMS Joomla!. Часть 1

Comments

Сегодня Интернет является наиболее активно развивающимся средством распространения информации. Согласно статистике большинство людей имеют дома компьютеры, а соответственно и доступ в Интернет.

Современный Web-сайт – это не только информационное средство, но и полноценный маркетинговый инструмент, привлекающий клиентов, а вместе с ними и прибыль. Качественно изготовленный Web-сайт легко находится в поисковике по соответствующему запросу, так как его целевая аудитория – это пользователи, ищущие в сети определенную информацию. Контакт со своими клиентами и партнерами дает возможность быстро реагировать на изменения рынка, корректируя свою работу. Помимо этого, реклама в Интернет стоит гораздо дешевле, нежели в традиционных СМИ.

Хороший сайт – лучший информационный ресурс любого предприятия, так как он позволяет:

  • распространять актуальные новости и всю необходимую информацию об услугах и товарах компании;
  • обеспечить отличную рекламу предприятию и его продукции.

В рамках этой и следующей статей мы рассмотрим технологии и методы разработки, которые можно использовать для создания качественного Web-сайта.

Методы построения Web-сайта

Создать Web-сайт далеко не так просто, как может показаться дилетанту. Ведь чтобы создать эффективный ресурс, привлекающий внимание пользователей, а также вполне удовлетворяющий требованиям поисковиков, недостаточно знаний и навыков начинающего разработчика.

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

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

  • PHP – одна из популярных технологий для разработки Web-приложений;
  • Java Script – который постоянно совершенствуется для получения большей функциональности;
  • HTML – без которого невозможно представить Web-сайт;
  • MySQL или другие СУБД для хранения пользовательских данных и другой информации.

Как правило, разработчики самостоятельно выбирают технологии, которые лучше всего подходят к поставленной задаче. Но очевидно, что сделать высоко-функциональный Web-сайт "вручную" силами одного человека крайне сложно, не только в силу требуемых навыков, но и просто из-за временных затрат. Поэтому очень часто разработчики прибегают к помощи CMS-систем, например, Joomla, добавляя туда необходимую функциональность собственной разработки.

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

Принципы построения клиент/серверных систем

Для разработки таких систем сегодня существуют два подхода:

  • построение на основании двухзвенной архитектуры;
  • построение на основании трехзвенной архитектуры.

Двухзвенная архитектура состоит из серверной и клиентской частей. Серверная часть – это сервер БД, где хранятся общие данные. Клиентская часть – это приложение, которое связывается с сервером, отправляя к нему запросы и получая ответы. Подобные системы принято использовать в локальных сетях. Кроме того, такие системы более безопасны. Немало крупных компаний, имеющих офисы по всему миру, отдают предпочтение такой архитектуре.

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

Поэтому в данном сценарии более правильным будет использование трехзвенной архитектуры, также состоящей из клиента и сервера. Только вот серверная часть здесь – это сервер БД и сервер приложений, а роль клиента отводится Web-браузеру, как показано на рисунке 1. Пользователю достаточно иметь Web-браузер и знать адрес сервера. Данные предоставляются сервером в виде HTML-страниц при использовании Javascript, CSS, а также различной графики. Запросы передаются через CGI-интерфейс. Сервер приложений связан с сервером БД через другой интерфейс, который зависит от используемой платформы.

Рис. 1 Трехзвенная архитектура.
Трехзвенная архитектура.
Трехзвенная архитектура.

Во время разработки таких приложений особое внимание нужно уделять целевой аудитории и требованиям к безопасности.

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

Content Management Systems

В последнее время заслуженную популярность приобрели CMS-решения (content management systems - системы управления контентом), с помощью которых грамотный разработчик может легко создавать базовые проекты, а Web-интегратор может в кратчайшие сроки развернуть проект до необходимого масштаба.

До того, как системы управления контентом стали применяться повсеместно, при разработке Web-сайта требовалось создавать HTML-разметку для каждой страницы отдельно или же пользоваться языками программирования. Разработка на базе CMS позволяет отказаться от "ручного" программирования, так как можно выбрать необходимый модуль из компонентов, уже имеющихся в платформе. Интеграция происходит также быстро, так как каждое дополнение создается по единому стандарту.

Для оценки преимуществ таких систем достаточно заглянуть в недалекое прошлое, чтобы увидеть, как создавались Web-сайты до и после появления CMS. В качестве точки отсчёта можно взять середину 90-х годов, когда появились первые, сравнительно примитивные технологии для Web-разработки. В то время серьёзные проекты могли создавать исключительно профессиональные программисты.

Динамическое поведение реализовывали через сложнейшие технологии, и обычный пользователь мог создать только базовый проект в виде статических HTML-страниц. По окончанию набора страницы объединяли ссылками, а затем размещали на сервере. Работы по обновлению любой информации, а также тестированию проекта возлагались на плечи автора. К примеру, когда необходимо было поменять ссылку, автор искал нужную страницу, вносил в неё изменения и заново загружал на сервер. Чем больше становился объём или количество страниц, тем тяжелее становилось выполнять эти простейшие действия.

Впоследствии появились новые технологии для автоматизации и упрощения процесса разработки Web-приложений. Речь идет об ASP, ColdFusion и, конечно же, PHP. Эти технологии уже позволяли совмещать разметку страниц с несложным программным кодом, превращая статические HTML-страницы в динамические. Это позволило организовать интерактивное взаимодействие с пользователем, который мог получать новые данные при обращении к странице. Кроме того, начали появляться страницы, автоматизирующие некоторые действия наподобие процессов загрузки файлов или создания новых пользователей. Все это собиралось во вспомогательные пакеты, которые применялись при реализации типовых задач. Тем не менее, возможности "пакетных" решений были очень ограничены, и клиенты все еще заказывали отдельные Web-сайты под каждый проект. Созданные системы не были универсальными, поэтому заказчик вынужден был все время обращаться за дополнениями к разработчикам.

Поэтому возник спрос на универсальные системы для развёртывания Web-приложений и появился сам термин CMS. Их эволюция оказалась настолько стремительной, что сейчас термин "система управления содержанием" потерял свою актуальность. Ведь функциональность CMS расширилась так, что их можно называть "средствами управления Web-приложениями".

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

Joomla!

Joomla! - это CMS-платформа, написанная на языках JavaScript и PHP. В качестве базы данных используется MySQL или другая реляционная СУБД. Это свободное программное обеспечение, которое распространяется под лицензией GNU GPL. Название системы "Joomla!" фонетически идентично слову из языка суахили "Jumla", означающему «единое целое».

Данная система является ответвлением CMS Mambo, от которой отделились некоторые разработчики. Первая версия Joomla! увидела свет 16-го сентября 2005-го года. Она включала в себя исправления для ошибок и уязвимостей в тогдашней версии Mambo. Уже летом 2008-го года согласно числу скачиваний система занимала второе место сразу же после WordPress с огромным отрывом от остальных.

Сегодня версия 1.0 считается устаревшей, и её поддержка прекращена с 1-го июля 2009-го года. Версия 1.6 не поддерживается с 19-го августа 2011-го года, а версия 1.7 не поддерживается с 24-го февраля 2012-го года. На данный момент осуществляется регулярный выпуск обновлений для Joomla!. Также имеются трекеры для отслеживания ошибок и замечаний пользователей, которые тщательно изучаются разработчиками и при необходимости исправляются.

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

Joomla! собрала в себе разнообразные инструменты, предназначенные для разработки Web-ресурсов. Её ключевая особенность – минимальное количество инструментов при базовой установке и возможность установки дополнений при необходимости. Все это уменьшает "громоздкость" на панели инструментов, снижает нагрузку на сервер, а также экономит дисковое пространство на хостинге.

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

Функциональность Joomla! увеличивается при помощи дополнительных плагинов, модулей и компонентов. Кроме того, все шаблоны, плагины, модули и компоненты можно писать самостоятельно, размещать их в специальном структурированном каталоге, а затем редактировать.

Схемы расположения элементов легко настраиваются по областям шаблона. Система шаблонов позволяет быстро изменить визуальный вид ресурса или создать новый. В Интернет имеется богатый выбор бесплатных и платных готовых шаблонов.

Предусмотрены также и настраиваемые схемы для модулей: правый, левый, центральный, другие. Содержимое модуля можно по желанию включить в содержимое публикуемого материала. К примеру, выражение, введенное в произвольное место статьи, выводит содержимое модуля, задаваемого соответствующей позицией. Имеются готовые модули наподобие счетчика посещений, новостей, подробной статистики, форума или гостевой книги.

В версии 2.5 список поддерживаемых баз данных был расширен и добавлена поддержка MSSQL, а начиная с версии 3.0 - и поддержка PostgreSQL. В будущем разработчики планируют внедрить поддержку SQLite, Oracle.

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

Конфигурация Joomla!

После установки потребуется выполнить конфигурацию Joomla!. Для того чтобы настроить ее, необходимо войти в административный интерфейс по адресу http://имя_сервера:port/administrator/ и авторизоваться при помощи логина и пароля, указанных при установке. После ввода комбинации логина и пароля вы будете перенаправлены на главную страницу интерфейса администратора.

Административный интерфейс Joomla! CMS предлагает широкий набор функций:

  • создание, публикация, а также редактирование информации;
  • конфигурирование CMS;
  • установка тем, модулей и компонентов;
  • статистика пользователей, просмотров и посещений страниц;
  • информация об исправлениях, обновлениях и самой системе.
Рис. 2 Административный интерфейс Joomla! CMS.
Административный интерфейс Joomla! CMS.
Административный интерфейс Joomla! CMS.

Для того чтобы войти в конфигурацию, необходимо кликнуть на иконке Общие настройки (Global Configuration в англ. версии). Конфигурационное меню Joomla! состоит из 9-ти пунктов, как показано на рисунке 3

  1. Сайт – базовые настройки: включение / отключение, название, используемый визуальный редактор и т.д.;
  2. Локаль - временная зона, настройки локализации;
  3. Материалы - настройки вывода элементов;
  4. База данных - настройки подключения к базе;
  5. Сервер - настройки времени жизни cookie-файлов, GZIP-компрессия;
  6. Метаданные;
  7. Почта - параметры и способы отправления писем;
  8. Статистика - параметры статистики посещений и просмотров;
  9. SEO - динамические заголовки.
Рис. 3 Параметры конфигурации Joomla!.
Параметры конфигурации Joomla!.
Параметры конфигурации Joomla!.

Для первоначальной настройки CMS потребуется определить значения следующих параметров:

  • Сайт отключен - правом доступа на ресурс обладают исключительно администраторы, это может быть удобно при отладке сайта;
  • Имя сайта - название ресурса, которое отображается в заголовке браузера;
  • Разрешить регистрацию пользователей – зависит от принятой административной политики сайта;
  • Использовать активацию аккаунтов - рекомендуется установить значение "да", чтобы усилить защиту от регистрации спам-ботов;
  • Временная зона - указывается значение соответственного часового пояса;
  • GZIP компрессия страниц – для ускорения загрузки страниц;
  • Эмуляция режима Register Globals - рекомендуется отключить, так как этот параметр повышает уровень защиты, но снижает совместимость компонентов.

Шаблоны дизайна

Стандартная тема Joomla! может подойти для демонстрации системы, но не для полноценного ресурса. Для того чтобы использовать собственный графический шаблон, требуется загрузить в каталог /templates/ выбранную тему оформления, которая должна быть изготовлена по некоторым стандартам. В данном примере используется шаблон ресурса – "Центр занятости населения г. Новомосковска" с таким же названием темы. Подготовкой шаблона дизайна стоит заниматься ещё до начала проекта. Использовать загруженные шаблоны можно через административный интерфейс: Сайт –> Шаблоны –> Шаблоны сайта.

Рис. 4 Выбор шаблона дизайна Web-сайта.
Выбор шаблона дизайна Web-сайта.
Выбор шаблона дизайна Web-сайта.

В этом окне администратор системы может выбирать между загруженными темами. CMS обычно позволяют установить отдельные темы для разных страниц ресурса или же определить единственный шаблон. Выбирать можно при помощи кнопок По умолчанию и Назначить. "Назначая" тему оформления для отдельной страницы ресурса, нужно помнить, что для остальных страниц будет применяться шаблон "по умолчанию". В системе может быть только один шаблон по умолчанию. Административный интерфейс позволяет и отредактировать шаблоны сайта в случае необходимости.

Модули и компоненты

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

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

Как правило, компоненты поставляются вместе с модулями, которые обеспечивают вывод информации и элементов, хранящихся в любом отведенном месте.

Модуль представляет собой некоторый фрагмент сайта, позицию которого определяют через административный интерфейс. В качестве модуля может рассматриваться любая динамическая или статическая информация, задаваемая пользователем, формы контактов и опросов, авторизация, форма для поиска, счетчики посещений и т.д. Позиции для вывода модулей на странице определяются непосредственно в шаблоне оформления, который применяется к странице. Также в системе имеется специализированная таблица размещения модулей. Для обозначения позиции модуля в системе следует зайти в пункт меню: Сайт -> Шаблоны -> Расположение модулей.

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

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

Стандартный набор Joomla включает в себя следующие компоненты.

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

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

Компонент Syndicate предназначен для экспорта лент новостей, которые генерируются ресурсом в формат RSS. Может использоваться для экспорта своих новостей на чужие ресурсы, поддерживающие технологию RSS.

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

Голосования реализуют возможности проведения опроса посетителей и пользователей ресурса, могут настраиваться с учётом уровня доступа (голосование для всех / только для зарегистрированных пользователей и т.д.).

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

Контакты - компонент для организации списка контактов с его последующим выводом на ресурс. Так как изначально компонент не очень удобен в использовании, то стоит поменять шаблон вывода, удалив из кода все лишние элементы.

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

Ссылки - каталог ссылок на внешние или внутренние ресурсы.

Другие компоненты можно загружать с Web-сайтов производителей или Web-каталога Joomla!. В момент написания этого текста в каталоге было около 4400 компонентов, правда не все из них поддерживают русский язык или являются бесплатными. Среди дополнительных компонентов можно найти базы данных, Интернет-магазины, галереи, блоги, гостевые книги, а также форумы. При необходимости можно обратиться в компанию, оказывающую услуги по разработке компонентов, или подготовить его самостоятельно.

Менеджер компонентов позволяет администратору устанавливать и удалять компоненты CMS, как показано на рисунке 5.

Рис. 5 Интерфейс для управления компонентами.
Интерфейс для управления компонентами.
Интерфейс для управления компонентами.

Заключение

Данная статья поможет научиться работе с современной системой управления контентом Joomla! и создать собственный Web-сайт на её основе.

Независимо от тематики Web-сайта Joomla! на сегодня является одним из лучших инструментов, предназначенных для создания, оформления и настройки Web-ресурсов. Так как она может применяться не только профессионалами в области Web-разработок и технологий, но и обычными пользователями.

В следующей статье мы рассмотрим, как реализовать информационную структуру в Joomla!: создание разделов, категорий и меню, подготовка информации для публикации в системе, заполнение главной страницы и т.д.


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source
ArticleID=972385
ArticleTitle=Разработка Web-сайта на основе CMS Joomla!. Часть 1
publish-date=05272014