Как использовать API в расширениях CMS Joomla.
Эта страница содержит список руководств по API Joomla. Цель этих руководств - помочь понять, как использовать эти функции Joomla в собственных расширениях Joomla.
Каждое руководство по API включает примеры кода, которые можно скопировать и установить в собственной среде разработки CMS Joomla. Как правило, эти примеры кода написаны для включения и установки в качестве модуля Joomla, поэтому, если вы не знакомы с разработкой модулей Joomla, вам может быть полезен краткий цикл "Создание простого модуля".
Начиная с версии Joomla 3.8 команда разработчиков начала изменять соглашение об именовании классов Joomla для использования пространств имен, так что, например, JFactory
изменилось на Factory
в пространстве имен Joomla\CMS
. Читая существующий код и документацию Joomla, можно обнаружить классы, соответствующие новому или старому стандарту именования. Можно найти соответствие между двумя соглашениями об именовании в файле libraries/classmap.php
в вашем экземпляре CMS Joomla.
Список руководств по API Joomla.
- Базовые классы приложений, их иерархия и назначение описаны в Понимание классов приложений.
- Работа с Ajax в компонентах Joomla описана в разделе Ответы JSON с помощью
JResponseJson
. Ajax также может быть использован в модулях и плагинах Joomla, как описано в Использование интерфейса Ajax Joomla. - Кэш (Cache) - как использовать кэш для повторяющихся ответов в коде CMS Joomla.
- Категории (Categories). Использование классов
Categories
иCategoryNode
для доступа к данным, относящимся к категориям Joomla. - CSS может быть добавлен, как описано в Добавление JavaScript и CSS на страницу.
- Database / JDatabase. Существует два руководства по API, в которых описывается выбор данных с помощью
JDatabase
и вставка, обновление и удаление данных с помощьюJDatabase
Date/JDate - класса работы с данными в базе данных Joomla. - Файлы и папки. См. раздел Как использовать пакет файловой системы.
Form
/JForm
.- Есть базовое руководство по использованию API форм Joomla и включению форм в компоненты Joomla, а также более продвинутое руководство по формам, охватывающее более сложные аспекты API CMS Joomla.
- FormField / JFormField. Этот класс и родственные классы, такие как
JFormFieldList
, которые наследуются от него, в первую очередь полезны для определения пользовательских полей формы, как описано в разделе Создание пользовательского типа поля формы. - Input / JInput. Использование класса Input для получения значений параметров в HTTP GET и POST запросах.
- JavaScript может быть добавлен, как описано в разделе Добавление JavaScript и CSS на страницу.
- Использование шаблонов Joomla описано в разделе Совместное использование шаблонов между представлениями или расширениями с помощью
JLayout
. Гибкость была увеличена в Joomla 3.2, как описано в УлучшенияJLayout
для Joomla. - Log / JLog. Запись сообщений (например, сообщений об ошибках, отладочных сообщений) в файл журнала и, по желанию, в консоль отладки.
- Меню и элементы меню - работа с Меню и пунктами меню с использованием API CMS Joomla.
- Вложенные наборы (Nested Sets), которые позволяют реализовать древовидную иерархию в таблице базы данных, используются меню Joomla, публикации, категории и т.д..
- Registry/JRegistry - это класс-утилита, который очень полезен для работы с массивами PHP, преобразования в JSON и т.д.
- JResponseJson поддерживает ответы в формате JSON на запросы Ajax.
- Route / JRoute позволяет поддерживать URL-адреса в Joomla.
- Table / JTable предоставляет инструменты для выполнения CRUD операций (и многое другое) над таблицами базы данных. Руководство разделено на Руководство по базовому API и Руководство по расширенному API.
- Контроллеры (Controllers) (
BaseController
,AdminController
,FormController
,ApiController
) отвечают за анализ запроса пользователя, проверку того, что пользователю разрешено выполнять это действие, и определение того, как выполнить запрос. - Модели (Models) (
BaseModel
,BaseDatabaseModel
,ItemModel
,ListModel
,FormModel
,AdminModel
) инкапсулируют данные, используемые компонентом. Они также отвечают за обновление базы данных, когда это необходимо. - Представления (Views) (
AbstractView
,CategoriesView
,CategoryFeedView
,CategoryView
,FormView
,HtmlView
,JsonApiView
,JsonView
,ListView
) определяют, что должно отображаться на странице сайта, и собирают все данные, необходимые для вывода HTTP-ответа. - Метки (Tags).
- Uri / JUri см. URL в Joomla.
- User / JUser API, связанные с пользователем Joomla.
Перевод с английского официальной документации Joomla:
https://docs.joomla.org/API_Guides
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)