Типы расширений (общие определения)
From Joomla! Documentation
[Система] Joomlaǃ уже является богатой функционалом системой управления содержимым, но если Вы создаете на Joomla веб-сайт и Вам нужны дополнительные функции, которые отсутствуют в Joomlaǃ по умолчанию, то Вы можете легко дополнить ее с помощью [сторонних] расширений. Существует пять типов расширений для Joomlaǃː компоненты, модули, плагины, шаблоны и языки. Каждое из этих расширений управляет конкретным функционалом (некоторые встроенные функции Joomla! выполнены с помощью расширений).
Компоненты
Из всех [расширений] компоненты являются самыми крупными и наиболее сложными расширениями; их можно считать мини-приложениями. Большинство компонентов состоит из двух частей: передняя часть и административная часть. Каждый раз, когда [в Ваш браузер] загружается какая-либо веб-страница [системы] Joomla, [то при этом] вызывается один компонент, чтобы представить данную страницу. Например, расширение Content (com_content) является компонентом, которое управляет показом содержимого; [с его помощью] пользователи могут просматривать содержимое Вашего веб-сайта и Вы, как администратор, можете это содержимое редактировать. Компоненты являются главной долей Вашей веб-страницы, поскольку компонент [обычно] ведом каким-либо пунктом меню, а каждый пункт меню включает [в работу] какой-либо компонент.
- Примеры: Content (com_content), Banners (com_banners), Contact (com_contact), News Feeds (com_newsfeeds) и Web Links (com_weblinks)
Функционал управления: главное административное меню > “Компоненты” (“Contacts” для com_contact)
Модули
[Из] используемых для предоставления веб-страниц [расширений], модули являются более легковесными и гибкими расширениями. [Встроенный в Joomla] "Footer" яляется модулем. Модули назначаются определенному пункту меню. Так что Вы можете решать показывать или скрывать, в зависимости от того страницу какого пункта меню пользователь просматривает, например модуль входа "Login". Иногда модули связаны с компонентами. Например, модуль "Latest News" связан с [компонентом] com_content и показывает ссылки на самые новые объекты содержимого. Однако модули не обязательно связывать с компонентами. Фактически, их даже не обязательно вообще связывать с чем-либо и они могут быть просто статичным кодом HTML или текстом.
- Примеры: Banners (mod_banners), Menus (mod_menu), Who's Online (mod_whosonline)
- Функция управления: Admin head menu > “Extensions” > “Module Manager”
Плагины
Плагины являются более сложными расширениями и по сути являются обработчиками системных событий. Какое-либо системное событие может быть запущено исполнением [кода] любой части [системы] Joomla, будь этот [код] частью ядра [системы], какого-либо модуля или какого-либо компонента. Когда какое-либо системное событие запускается, плагины, которые зарегистрированы с обрабатывающим это системное событие приложением исполняют [код]. Например, какой-либо плагин может быть использован для перехвата создаваемого каким-либо пользователем материала и [поиска и] фильтрации скверных слов.
- Примеры: Content - Load Modules, Editor - TinyMCE
- Функционал управления: Admin head menu > “Extensions” > “Plugin Manager”
Шаблоны
Какой-либо шаблон - это в основном дизайн Вашего работающего на Joomla! веб-сайта. Посредством какого-либо шаблона Вы можете изменить облик Вашего веб-сайта и [создаваемое им] ощущение. Шаблоны имеют определенные поля в которых будут показаны компонент (только один) и модули (столько, сколько Вы пожелаете). Шаблоны легко создавать или подстраивать и они обеспечивают максимальную гибкость в том, как Вы [создаете] стиль своего веб-сайта.
- Функционал управления: Admin head menu > “Extensions” > “Template Manager”
Языки
Языки скорее всего являются самыми простыми расширениями. Языки можно пакетировать двумя способами: либо как пакет ядра, либо как пакет расширения. По сути, эти файлы состоят из пар константа/значение, которые обеспечивают перевод статичных строк текста, вписанного внутри исходного кода [системы] Joomla!. Эти языковые пакеты действуют как на переднюю так и на административную часть [сайта]. Примечание: эти языковые пакеты также включают мета файл XML, которые описывает данный язык.
- Функция управления: Главное административное меню > “Расширения” > “Менеджер языков”
Libraries
Libraries are standalone PHP snippets that Joomla uses. Note nearly all of Joomla's core code is available as a library called "src". All composer libraries are installed as a library "vendor" (such as PHPMailer). Many of the most popular 3rd party extensions in Joomla use libraries to reuse common functionality across their components.
File
The File extension type is used to install individual files into Joomla into a custom directory. There are no examples in Joomla Core of this type and it is the least used type however it can be used for example to place CLI scripts into the cli directory within Joomla or to place template overrides into a specific directory.
Packages
Packages are simply a group of any of the above types of extensions. A common use of a package would be to ship a template that also bundles a system plugin. Or a component that also installs a library it uses. In Joomla many language packs install as a package so the frontend and backend languages can be installed independently.
Установка расширения
Существует 3 метода для установки какого-либо расширения. Вы можете загрузить расширение, установить его из какой-либо директории [своего веб-сайта] или установить [его] через URL-ссылку.