Создание системного плагина для JoomlaShopping
Создайте структуру файлов плагина:
/plugins/system/joomshoppingevents/
├── joomshoppingevents.php
├── joomshoppingevents.xml
└── helper.php
Файл joomshoppingevents.xml:
plg_system_joomshoppingevents
Your Name
2024-05-16
Your Company
GNU General Public License
1.0.0
Plugin to catch JoomShopping product events and send to Bitrix24
joomshoppingevents.php
helper.php
Файл joomshoppingevents.php:
defined('_JEXEC') or die;
class PlgSystemJoomShoppingEvents extends JPlugin
{
public function onAfterInitialise()
{
// Подключаем библиотеку JoomShopping
require_once(JPATH_SITE . '/components/com_jshopping/lib/factory.php');
// Подписываемся на события создания и обновления товаров
JLoader::register('plgSystemJoomShoppingEventsHelper', __DIR__ . '/helper.php');
// Отслеживаем события
$dispatcher = JEventDispatcher::getInstance();
$dispatcher->register('onAfterSaveProduct', array('plgSystemJoomShoppingEventsHelper', 'onAfterSaveProduct'));
}
}
Файл helper.php:
defined('_JEXEC') or die;
class plgSystemJoomShoppingEventsHelper
{
public static function onAfterSaveProduct($product, $isNew)
{
// $product - объект товара
// $isNew - флаг, указывающий, является ли это создание нового товара или обновление существующего
// Пример данных для отправки в Bitrix24
$data = [
'id' => $product->product_id,
'name' => $product->name,
'price' => $product->product_price,
'isNew' => $isNew
];
// URL вебхука для Bitrix24
$webhookUrl = 'https://your_bitrix24_domain/rest/1/your_webhook_token/crm.product.add';
// Отправка данных в Bitrix24
self::sendDataToBitrix24($webhookUrl, $data);
}
private static function sendDataToBitrix24($url, $data)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
curl_close($ch);
// Логирование ответа (по желанию)
// error_log($response);
}
}
Установка плагина\
Упакуйте файлы плагина в ZIP-архив.
В админке Joomla перейдите в Расширения -> Менеджер расширений -> Установка и загрузите ZIP-архив с плагином.
После установки перейдите в Расширения -> Плагины, найдите плагин System - JoomShoppingEvents и включите его.