Что такое joomla и как с ним работать. CMS Joomla — принципы работы бесплатной системы управления контентом, создание страниц и их кэширование. Собственное меню в админке

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

Что такое Joomla?

Joomla – это система управления контентом с открытым исходным кодом, написанная на языке программирования PHP, с элементами JavaScript. Название “Joomla” сформировано из слова “Jumla”, африканского языка суахили, что в переводе означает «все вместе». Кстати по этому поводу разработчики, очень удачно выбрали название, так как CMS очень популярна, и имеет огромное сообщество пользователей, как в рунете так и в интернете. При этом Joomla активно развивается и постоянно совершенствуется как в плане функционала и удобства, так и в плане безопасности и быстродействия.

На сегодняшний момент, а это уже 10 лет как создана первая версия движка, CMS Joomla занимает лидирующую позицию в рейтинге популярнейших CMS по всему миру, уступая только WordPress.

История создания CMS Joomla

В основе CMS Joomla лежит проект Mambo. В далеком 2005 году в команде разработчиков данного проекта произошел раскол, соответственно часть из них покинули проект и занялись разработкой новой собственной CMS. Так в сентябре 2005 года была выпущена первая версия CMS – Joomla 1.0, которая, по сути, представляла уже существующую, Mambo 4.5.23, конечно с некоторыми доработками и усовершенствованием. Спустя некоторое количество времени в 2007 году была выпущена полностью самостоятельная версия с долгосрочной поддержкой – Joomla 1.5. Данная версия поддерживалась достаточно долго, и под нее было создано огромное количество расширений и шаблонов, что позволяло адаптировать ее под различные потребности пользователей.

На этом разработчики не остановились и в последующие годы выпускались все новые и новые обновления, что привело к выходу в декабре 2011, очередной долгосрочной версии – Joomla 2.5.

В данное время актуальна версия Joomla 3.4.5 и вышла для тестирования — Joomla 3.5 beta, что привело к прекращению поддержки более ранней версии Joomla 2.5

Возможности CMS Joomla

Теперь давайте поговорим о том, какие у CMS Joomla возможности:

Богатая функциональность, которая к тому же значительно расширяется дополнительными расширениями (компоненты, модули и плагины).

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

С версии 1.6 добавлена поддержка многоязычности.

Начиная с версии 2.5 расширена поддержка баз данных. Реализована поддержка Microsoft SQL Server, а с версии 3.0 - PostgreSQL. В дальнейшем планируется добавить поддержку Oracle, SQLite.

Встроенный медиа-менеджер, который обеспечивает возможность, закачки файлов на сайт.

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого роста с нуля в сайтостроении

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

Поддержка человеко-понятных URL (ЧПУ).

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

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

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

Преимущества CMS Joomla

Основные преимущества CMS Joomla:

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

Удобный механизм создания и отображения меню, неограниченного уровня вложенности.

Открытый исходный код.

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

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

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

Универсальность и простота настройки. Каждый элемент системы – легко настраивается под каждого пользователя.

Широкое сообщество пользователей и постоянные обновления, которые исправляют найденные ошибки и повышают безопасность системы.

Многоязычность – как было описано выше в CMS введена поддержка многоязычности, что позволяет отображать на страницах сайта контент на различных языках.

Простота обновления.

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

Современные тенденции и подходы в веб-разработке

Узнайте алгоритм быстрого роста с нуля в сайтостроении

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

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

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

Функции Joomla

Чтобы более точно понять, Joomla, необходимо просмотреть все его функции.

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

Объединение с веб-ресурсом, написанным на HTML и отлаженная работа с этим языком.

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

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

Увеличение возможностей Joomla при помощи множества бесплатных и достойных расширений. К этому относится гостевая книга, чат, форум и многое другое. Еще периодически выходят новые версии программы с улучшениями.

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

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

Вывод какого-либо содержимого можно автоматизировать и запрограммировать на определенную дату.

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

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

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

Насколько хорошо вы знаете Joomla? Давайте проверим! В данной статье я собрал 10 особенностей этой CMS, о которых знают далеко не все. Прочитайте статью, а затем напишите в комментариях, сколько из пунктов были вам известны, например «6/10». Я уверен, что «10/10» наберут далеко не все. А особенности действительно интересные!

1) Скрытые страницы регистрации и авторизации в Joomla

В Joomla есть страницы, через которые пользователь может зарегистрироваться или авторизоваться на сайте. Именно страницы. Не путайте с модулями авторизации. Адреса этих страниц стандартные и не изменяются по умолчанию от установки к установке.

Главный фокус в том, что даже если вы не показываете пользователям ссылку на страницу регистрации, опытный человек, знакомый с Joomla, сможет попасть на нее. Как? Очень просто:

  • php?option=com_users&view=registration – форма регистрации
  • php?option=com_users&view=login – форма авторизации

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

Вот ведь извращение. Но оно имеет место быть. Говорю из практики. Чтобы обезопасить себя от таких «пользователей», либо отключайте на сайте регистрацию, либо ставьте на нее код проверки (капчу).

Если с регистрацией всё просто, то с авторизацией сложнее. Вы можете убрать с сайта модуль ввода логина и пароля, но это не избавит вас от страницы с формой авторизации, описанной выше. Она стандартная, а значит, каждый пользователь может ее открыть и попытаться подобрать логин и пароль администратора. Логин обычно никто не меняет. Остается только подобрать пароль перебором. Если ваш сайт не слишком ценен, то вряд ли кто-то будет морочить себе этим голову. А вот если на сайте есть ценная информация, то злоумышленники могут и поработать с ним.

Как защититься от подбора пароля? Есть несколько вариантов. Самый простой – переопределить макет страницы index. php? option= com_ users& view= login в используемый шаблон Joomla и удалить из него форму ввода логина и пароля. Другой вариант – использовать Wedal Recaptcha Login , который будет показывать капчу после нескольких неудачных попыток авторизации.

Не забывайте про эти стандартные страницы в Joomla.

2) Неизменность файлов. htaccess, robots. txt, web. config. txt и необходимость их ручного обновления

В Joomla есть одна интересная особенность. Когда вы обновляете сайт до новой версии, например, переходите с Joomla 2.5 на Joomla 3, файлы . htaccess , robots. txt , web. config. txt не обновляются вместе со всеми остальными, хотя в них могут быть изменения.

Фокус в том, что в этих файлах могут содержаться ваши личные настройки, которые могут изменяться в зависимости от окружения. Проще говоря, под разные сервера и особенности сайтов настройки в файлах редактируются. Если бы Joomla при каждом обновлении перезаписывала их, то многие сайты просто падали с ошибкой, не говоря уже о других, скрытых проблемах. Поэтому данные файлы не обновляются. Но обновлять их нужно, т.к. в обновленных файлах могут быть важные изменения, относящиеся к самой Joomla. Обновлять файлы можно путем сопоставления. Т.е. открыть новый и старый, посмотреть, что добавилось в новом, добавить это и в старый. Примерно так.

Вообще-то, после установки обновлений Joomla, появляются сообщения с информацией об этих файлах. Но кто читает эти сообщения =)

3) Отдельная страница в Joomla с уникальным макетом/кодом

Моя любимая особенность. Я пользуюсь ей очень часто, и очень часто она сильно выручает.

Многие знают, что в Joomla есть так называемый макет для печати. Это файл component. php , который находится в корне используемого шаблона сайта. Суть этого файла сводится к тому, чтобы показать только выдачу компонента на странице, убрав с нее шаблон и модули (шапку, подвал, колонки, и др., оставив только контент).

Чтобы воспользоваться этим макетом, необходимо добавить к URL «? tmpl= component » или «& tmpl= component », если вопросик уже стоит в URL раньше.

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

То после добавления к URL данной конструкции, будет:

Вообще, фокус с «tmpl=component» довольно известный. Здесь ничего интересного. Но я вот пошел дальше. Кто сказал, что мы должны использовать эту особенность строго по назначению? Следите за руками:

  • Копируем файл component. php в корне шаблона Joomla .
  • Изменяем его название, на скажем, myscript. php , и размещаем там же, в корне шаблона.
  • Пишем в файле myscript. php любой код или верстаем любую страницу, которая нужна нам на сайте, но которая не попадает под стандарт Joomla, например, делаем или вставляем готовый калькулятор чего-либо.
  • Открываем любую страницу сайта, добавляя в URL параметр с нашим макетом, например: mysite. ltd/? tmpl= myscript
  • Страница загружается и код выполняется. При этом в файле myscript. php будут работать все особенности фреймворка Joomla, будут доступны все позиции модулей и компонент – в общем, всё то, что есть в шаблоне Joomla.

Это очень удобно. В этом файле можно также получать и разбирать параметры URL, не забывая, конечно, фильтровать их на входе. Используя такой подход, вы можете легко интегрировать в Joomla сторонний скрипт, вы можете получать и разбирать любые данные для AJAX-запросов из базы данных, вы можете делать практически всё, что только пожелаете. Главное – не забывайте про безопасность.

4) Собственное меню в админке

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

А вам слабо? =)

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

5) Встроенный менеджер перенаправлений

Про эту особенность вы должны знать, но всё же расскажу. Если вам нужно настроить перенаправление (редирект) с одной страницы на другую, не обязательно лезть в код. В Joomla существует довольно неплохой инструмент, позволяющий создавать редиректы через админку. Он называется «Менеджер перенаправлений » и доступен в админке по умолчанию в «Компоненты –> Перенаправление ». Выглядит он примерно так:

Менеджер перенаправлений Joomla выполняет несколько полезных функций:

  • Собирает все запросы к сайту, которые вернули ошибку 404, и показывает, сколько было обращений по каждому такому запросу – так вы можете увидеть, какие страницы были запрошены посетителями, но не были загружены по какой-то причине.
  • Позволяет настраивать перенаправления как для страниц, собранных в п.1, так и собственные, уникальные перенаправления.
  • Позволяет массово импортировать перенаправления на сайт. Т.е. вы можете создать их в Excel, а затем легко загрузить в менеджер.

Эта очень полезная и удобная функция Joomla. Я часто ей пользуюсь, особенно при миграции сайтов с Joomla 1.5 на свежую версию. Обычно в таких миграциях URL страниц сайта изменяются, но благодаря менеджеру перенаправлений удается сохранить посетителей сайта.

6) Одновременная авторизация фронденд-админка.

Довольно новая «фишка» в Joomla. Позволяет одновременно проходить авторизацию и на сайте и в админке (и наоборот).

По умолчанию в Joomla отдельная авторизация. Т.е. авторизация на сайте отдельно, в админке – отдельно. Если вам это не по душе и хочется вводить логин и пароль только один раз, то это возможно. Перейдите в Общие настройки –> Вкладка «Система» –> Опция «Общие сессии» . Активируйте эту опцию. Авторизовываться и выходить можно будет только один раз для всего сайта.

7) Установка требований к сложности пароля для пользователей при регистрации

Готов поспорить, вы не знали, что это возможно =). Я вот раньше не знал, а оно есть!

Вы можете зайти в общие настройки Joomla, выбрать раздел «Пользователи» , перейти на вкладку «Параметры пароля» и увидеть необходимые настройки:

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

8) Изменение пути к каталогу с изображениями в медиа-менеджере

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

Бывает, что эта особенность прямо очень сильно мешает. Когда? Тогда, когда нужное вам изображение лежит, например, в папке images шаблона сайта, или же изображения хранятся где-то в стороннем компоненте, разработчики которого как-то не сообразили хранить их там, где нужно. Бывает? Бывает. Что делать в этом случае?

Всё просто. Переходим в Общие настройки Joomla , открываем раздел «Медиа-менеджер» и видим в нем настройки. Здесь нас интересуют две опции:

  • Путь к каталогу с файлами
  • Путь к каталогу с изображениями

Заменяем их значения на «/ »:

После этого видим в медиа-менеджере все каталоги:

Хочу напомнить об очевидном: если у вас есть пользователи, которые могут работать с редактором и медиа-менеджером, и которым вы не доверяете, не делайте то, что написано в этом пункте! Выполнять его допустимо только когда доступ к редактору и медиа-менеджеру имеет только доверенный круг лиц, а лучше – только Вы.

9) Сбор статистики поиска в Joomla

Обычно на сайте используется форма поиска. Иногда очень интересно узнать, что же всё-таки люди в ней ищут. Стандартный поиск Joomla дает такую возможность. Вы можете собирать статистику всех запросов в форме поиска на сайте, а затем анализировать ее. Для этого переходим в Общие настройки Joomla , раздел «Поиск » и активируем опцию «Собирать статистику поиска ». После этого нужно зайти в «Компоненты –> Поиск », где вы увидите собранную статистику:

10) Полное кэширование страниц Joomla + браузерное кэширование

Думаю, многие уже знают про эту особенность, но есть в ней и кое-что новое.

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

Ок. Но что, если у вас сайт-визитка в пять страниц, и без какого бы то дополнительного функционала? Для вас главное – скорость загрузки. Для таких ситуаций в Joomla есть плагин Система – Кэш . Вы можете найти его в менеджере плагинов Joomla. Он позволяет кэшировать страницу целиком. По умолчанию он выключен. Если вы включите его, то все страницы сайта будут кэшироваться полностью. Что это значит? Это значит, что ваш сайт будет отдавать пользователям уже готовые html-страницы, не тратя время на их повторную генерацию. Это может значительно ускорить загрузку страниц, особенно, если используется медленный хостинг. Другим плюсом станет снижение нагрузки на хостинг – ведь генерировать ничего не требуется.

Дмитрий Дементий

Владельцы сайтов выбирают эту систему управления контентом благодаря таким достоинствам:

  • По простоте использования Joomla! только немного уступает WordPress. С этой CMS можно работать без знаний в области программирования и дизайна сайтов.
  • «Джумла» обладает функциональностью, достаточной для создания сайтов любого размера и предназначения. На этом движке можно делать ресурсы разных типов: от сайта-визитки или блога до большого интернет-магазина или информационного портала.
  • Возможность адаптировать сайт к нуждам аудитории с помощью платных и бесплатных шаблонов и расширений.
  • Удобное управление меню и навигацией. Благодаря этому «Джумла» считается одним из лучших движков для интернет-магазинов. На Joomla! можно быстро создавать сайты со сложной архитектурой: большим числом категорий и подкатегорий, а также организовывать иерархии страниц.
  • Адаптация к требованиям поисковых систем. Движок Joomla! считается SEO-дружественным по умолчанию. А с помощью SEO-расширений вы сможете быстро решать все технические аспекты оптимизации.

Все еще не доверяете бесплатным движкам или думаете, что поисковики их не любят? Это глупости. Поисковые системы не любят некачественные и шаблонные сайты, а функциональность Joomla! позволяет сделать ресурс нестандартным и полезным для аудитории. Возможно, вас убедят примеры сайтов на «Джумле» , среди которых есть крупные солидные организации.

Шаг № 1: начинаем работать с Joomla!

После регистрации домена и покупки хостинга с установленной CMS или самостоятельной установки «Джумлы» вы получили доступ к административной панели сайта.


Шаг № 2: как установить шаблон Joomla!

Вы можете заказать эксклюзивный шаблон для «Джумлы» или воспользоваться готовым платным или бесплатным решением. При выборе шаблона руководствуйтесь следующими рекомендациями:

  • Если у вас нет мобильной версии сайта, выбирайте шаблон с адаптивной версткой. Благодаря этому вашим сайтом смогут пользоваться владельцы смартфонов и планшетов .
  • Обращайте внимание на внешний вид и функциональность шаблона. Например, если вы создаете интернет-магазин или корпоративный сайт, в этом случае не подойдут темы для блогов или сайтов-визиток.
  • Если выбираете готовый шаблон, воспользуйтесь иностранными сайтами. Для этого введите в Google запрос joomla templates. Так будет больше шансов найти хорошую тему, которую не используют коллеги и конкуренты в рунете.


Если некогда пользоваться поисковиками, ищите шаблоны здесь:

После выбора шаблона скачайте дистрибутив на жесткий диск компьютера. В административной панели выберите меню «Установка расширений».


Загрузите и установите шаблон.


После успешной установки перейдите в менеджер шаблонов.


Поставьте галочку напротив выбранного шаблона и нажмите кнопку «По умолчанию» в левом верхнем углу экрана.


Убедитесь, что активировали выбранный шаблон.


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


Теперь переходите к настройке CMS.

Шаг № 3: как настроить CMS Joomla!

Из этого раздела вы узнаете об общих настройках движка, о создании и управлении меню. Начните с общий настроек CMS Joomla!, которые можно изменить в соответствующем разделе.

Указываем общие настройки сайта

В меню «Общие настройки» выберите вкладку «Сайт». Укажите название ресурса, убедитесь, что он включен. Напишите уведомление о недоступности сайта и при необходимости выберите изображение. В меню «Уровень доступа по умолчанию» выберите вариант «Публичный».


Укажите мета-данные сайта: описание и ключевые слова. Выберите значение для тега robots. Если не нужно ограничивать индексирование ресурса поисковыми системами, подойдет вариант Index, Follow. В поле «Авторские права» внесите данные о копирайте.


В разделе «Настройки SEO» включите ЧПУ и добавление суффикса к URL. Чтобы включить перенаправление URL, необходимо переименовать файл htaccess.txt, который находится в корневой директории ресурса. Чтобы получить к нему доступ, воспользуйтесь любым FTP-клиентом, например, Filezilla. Найдите указанный файл и переименуйте его в.htaccess.

Поставьте напротив поля «Алиасы в Unicode» отметку «Нет». Если хотите включать название сайта в заголовок страницы, сделайте отметку в соответствующем поле.


На вкладке «Система» поставьте «Нет» напротив полей «Отладка системы» и «Отладка языка». Включите стандартное кэширование. В разделе «Настройки сессии» установите время продолжительности сессий для авторизованных пользователей. Например, если укажете значение 120 минут, система потребует от пользователя повторный ввод логина и пароля после двух часов бездействия.


На вкладке «Сервер» включите gzip-сжатие страниц. Это ускорит загрузку сайта в браузерах посетителей. Если хотите обеспечить пользователям безопасную связь с сайтом, приобретите SSL-сертификат и включите соответствующую опцию в панели управления «Джумлы». Выберите часовой пояс, подходящий аудитории вашего ресурса. Оставьте выключенными встроенный доступ к FTP и прокси-сервер. В разделе «Настройка почты» укажите адрес электронной почты и отправителя письма.


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


Если вы работаете с сайтом самостоятельно, не изменяйте настройки на вкладке «Фильтры текста». Если другие пользователи могут добавлять публикации, отфильтруйте нежелательные теги HTML. Например, с помощью фильтров можете запретить группе пользователей встраивать в публикации видео с YouTube. Для этого напротив соответствующей группы укажите тип фильтра «Черный список», в который по умолчанию включаются теги