Используйте привычные модели Joomla, для работы с удалёнными ресурсами, по спецификации JSON:API. Например, получайте данные по API с другого сайта, под управлением Joomla.
composer require webmasterskaya/json-api-client-joomla
В сервис провайдере вашего компонента (файл services/provider.php
) зарегистрируйте провайдер
\Webmasterskaya\JsonApi\Client\Service\Provider\MVCFactory
с поддержкой JSON:API, вместо провайдера из ядра Joomla CMS
Joomla\CMS\Extension\Service\Provider\MVCFactory
return new class implements \Joomla\DI\ServiceProviderInterface {
public function register(\Joomla\DI\Container $container)
{
...
$container->registerServiceProvider(new \Webmasterskaya\JsonApi\Client\Service\Provider\MVCFactory('\\Joomla\\Component\\YourComponentName'));
$container->registerServiceProvider(new \Joomla\CMS\Extension\Service\Provider\ComponentDispatcherFactory('\\Joomla\\Component\\YourComponentName'));
...
}
}
class ArticleModel extends \Webmasterskaya\JsonApi\Client\MVC\Model\ItemJsonApiModel {
}
class ArticlesModel extends \Webmasterskaya\JsonApi\Client\MVC\Model\ListJsonApiModel {
}
class FormModel extends \Webmasterskaya\JsonApi\Client\MVC\Model\FormJsonApiModel {
}
class AdminModel extends \Webmasterskaya\JsonApi\Client\MVC\Model\AdminJsonApiModel {
}