Joomla

Специальная настройка Joomla с помощью виджетов

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

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

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

  • Не требуются дополнительные ресурсы сервера. Некоторые виджеты пользуются крупными базами данных или передовыми технологиями обслуживания для реализации своих функциональных возможностей. А поскольку код виджетов выполняется на удаленном сервере, веб-сервер избавляется от необходимости предоставлять свои ресурсы для осуществления тех функциональных возможностей, которые предоставляют виджеты.
  • Страницы загружаются без промедления. Большинство виджетов отображаются во встраиваемом фрейме или пользуются асинхронными вызовами сценариев JavaScript, а это означает, что они не препятствуют загрузке страниц, когда они сами извлекаются. Виджет загружается параллельно с остальным содержимым страницы, и поэтому посетители веб-сайта могут видеть в окне своего браузера остальную часть страницы, которую заполняют виджеты по мере того, как они становятся доступными. Такой режим загрузки содержимого веб-страниц поддерживается во всех современных браузерах.
  • Код виджетов хранится в базе данных Joomla. Код HTML-разметки или сценариев JavaScript из модуля Custom HTML хранится в базе данных Joomla, в отличие от расширений, которые состоят как из файлов исходного кода, так из записей в базе данных. Это означает, что при резервном копировании каждой базы данных архивируются также все виджеты, присутствующие на веб-сайте. Это также означает, что перенести виджеты с одного веб-сайта на другие сайты или серверы намного легче, чем переместить установленные расширения.
  • Обновления виджетов выполняются автоматически. Виджеты хранятся на серверах их поставщиков, откуда они становятся доступными, поэтому при обновлении их кода обновленная версия автоматически появляется на веб-сайте, не требуя вносить в виджеты никаких изменений или устанавливать их снова. Разумеется, это преимущество может превратиться в недостаток, если не устраивают новые возможности обновленной версии виджета или изменения в правилах его рекламирования. Но как правило, автоматическое обновление виджетов приносит больше выгод, чем хлопот.

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

  • Google Calendar
  • Google Map
  • Google Translate
  • Окно интерактивной переписки в реальном времени
  • Социальный опрос
  • Модуль связанного содержимого
  • Виртуальная витрина
  • Сервис экспорта товаров в группы Контакта на http://vksync-manager.com/

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