Новости Joomla

Вышли релизы безопасности Joomla 6.1.3 и Joomla 5.4.8

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 4216 Просмотров
*

kkmspb

  • Новичок
  • 6
  • 0 / 0
Здравствуйте!
Не могу , туплю. Недавно с Joomla. 
Надо для админки плагин задействовать, то есть как-то заставить работать.

Если плагин в составе компонента, это вижу на примере (com_actionlogs), что плагин работает, то есть его можно подписать на событие открытия заказа в JoomShopping.

Но  я наверное пошел неправильным путем - создал не компонент, а модуль для админки и плагин, который устанавливается вроде как для site (а других и не бывает?...).

В общем в этой схеме плагин вроде подключается в модуле (админки) ок:
PluginHelper::getPlugin(''  , 'plg_payment_acceptance');   // ok
PluginHelper::isEnabled('' , 'plg_payment_acceptance');  // true
     
Но подписка на событие на работает...

*

sivers

  • Живу я здесь
  • 2626
  • 363 / 0
Плагины в Joomla устанавливаются общесистемно. Т.е. для них нет разницы что вы открываете - фронт или админку. Если вам надо только в одной части отрабатывать, то приходится в самом плагине писать условие на проверку фронт это или админка.

Чтоб работал плагин, надо:
1. Установить и АКТИВИРОВАТЬ плагин (т.к. по умолчанию плагин остается отключенным после установки).
2. Вызвать событие, обработчик которого есть в плагине. Это может быть либо общесистемное событие, либо ваше собственное, в этом случае вызвать его можно так:
Код
$app->triggerEvent('onBeforeOrderSave', array($cid, $post));
Пример генерации события сохранения заказа с передачей 2-х параметров в плагин.
3. В некоторых ситуациях, например, при вызове плагина из своего скрипта, когда не было полной инициализации Joomla, может потребовать предварительный импорт плагина (чтоб система знала о нем), а потом уже генерация события. Импорт плагина:
Код
PluginHelper::importPlugin('system', 'infobot');
здесь infobot - это имя плагина, а system - группа плагина.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

kkmspb

  • Новичок
  • 6
  • 0 / 0
Код
PluginHelper::importPlugin('system', 'infobot');
здесь infobot - это имя плагина, а system - группа плагина.

Спасибо за ответ!

В общем посоздавал компоненту (в админке), модуль (в админке), плагин ('system'), событие начал отлавливать гут. Но в башке путаница. Зачем столько сущностей. Да еще в зависимости от group="xxxx" установка по разным директориям идет.

implements SubscriberInterface начал использовать для класса плагина.

1. Я правильно понимаю, что если плагин устанавливать в 'system', то он всегда будет стартовать на каждой странице.

2. Мне бы в идеале только на странице редактирования заказа (вот примерно здесь /administrator/index.php?option=com_jshopping&controller=orders&task=show&order_id=4) добавить свой функционал:

2.1 пару кнопок Наличный и Банк.Карта
2.2 AJAX запрос на localhost:44735, ждем ответ (красиво с окном ожидания например на jquery_ui)
2.3 получаем ответ, изменяем статус заказа, сохраняем заказ.

3. Код JoomShopping править не хочу

Не понимаю как правильнее - сделать модуль (в админке) и плагин в систему?

Думаю модуль использовать. Далее пользователь его может пометить в top например, то есть он будет сверху окна заказа допустим.

В модуле надо как-то показывать его только в варианте страницы с GET option=com_jshopping&controller=orders&task=show. Это не проблема.

Но вот странно событие onBeforeShowOrder из Joomshopping приходит в плагин раньше чем выводится Модуль.

 

« Последнее редактирование: 30.08.2024, 18:09:27 от kkmspb »
*

kkmspb

  • Новичок
  • 6
  • 0 / 0
Цитировать
Не понимаю как правильнее - сделать модуль (в админке) и плагин в систему.


Да похоже такой вариант работает нормально. То есть системный плагин загружается раньше чем модуль (естественно).


Но и событие из JoomShopping с данными заказа прилетает тоже раньше загрузки модуля.


Таким образом есть только вариант: в плагине сохранить данные заказа из прилетевшего события из JoomShopping и при загрузке модуля забрать эти данные из плагина и отрисовать свой дополнительный интерфейс с учетом этих данных (заказа).


Вот такой код в модуле работает:
Код
    $pluginEnable = PluginHelper::isEnabled('system' , 'paymentacceptance');


    if( $pluginEnable )
    {
        $myPlugin = Factory::getApplication()->bootPlugin('paymentacceptance','system');

        $order = $myPlugin->getOrder();

        $order_items = $myPlugin->getOrderItems();

    }
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

addScript (в админке) к пути файла js добавляет /administrator/. Зачем?

Автор kkmspb

Ответов: 0
Просмотров: 2727
Последний ответ 02.09.2024, 14:42:25
от kkmspb
Не работает плагин на хостинге

Автор a7951396

Ответов: 3
Просмотров: 4598
Последний ответ 29.11.2023, 17:56:49
от a7951396
Плагин joomirseopagination доработка

Автор Stasweb

Ответов: 15
Просмотров: 4398
Последний ответ 16.03.2023, 15:00:33
от Stasweb
Akeeba Admin Tools Core - не могу снять пароль

Автор AlexP750

Ответов: 1
Просмотров: 3177
Последний ответ 06.10.2022, 18:15:14
от Mitriy
Не могу установить языковой пакет для компонента Joomla Events Manager ((jem))

Автор Ded Magomed

Ответов: 0
Просмотров: 3099
Последний ответ 24.05.2022, 15:06:38
от Ded Magomed