Новости 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 Гость просматривают эту тему.
  • 4 Ответов
  • 2053 Просмотров
*

Vlad1

  • Захожу иногда
  • 99
  • 0 / 0
Всем привет!

Подскажите, пожалуйста, по следующему вопросу.

Есть список материалов, в каждом из которых имеется Дополнительное поле, например, с id=5.
Есть модуль в Сайдбаре, который отображается только на странице материала (не в списке материалов, но это не важно).
Задача, чтобы в модуле в сайдбаре отображалось значение Дополнительного поля для каждого конкретного материала.

Пробовал так:
<?php echo($this->item->jcfields[5]->value); ?>

Результат - белый экран.

В идеале задача шире: пытаюсь внедрить API парсер курсов. Хотел, чтобы бралось значение конкретного поля в текущем материале и подставлялся в запрос к массиву из API.
*

sivers

  • Живу я здесь
  • 2626
  • 363 / 0
Задача, чтобы в модуле в сайдбаре отображалось значение Дополнительного поля для каждого конкретного материала.
Предложу пару вариантов как делал бы сам:
1. В модуле читать ИД материала ($app->input->getInt('id');) и по нему из БД вытаскивать значение доп.поля (оно там как раз к ИД материала + ИД поля привязано).
2. Если не боитесь глобальных переменных, то в макете материала объявляете глобальную переменную и вписываете в нее весь материал или только ваше доп.поле. В модуле обращаетесь к этой глобальной переменной и читаете ее. Кто не любит глобальные переменные - можно использовать константу. В любом случае сперва желательно проверять существование константы (или гл.переменной), а потом уже к ней обращаться.

Кстати, не так давно (1-2 мес. назад) точно такой вопрос уже задавали и ответ был получен - поищите.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Vlad1

  • Захожу иногда
  • 99
  • 0 / 0
Предложу пару вариантов как делал бы сам:
1. В модуле читать ИД материала ($app->input->getInt('id');) и по нему из БД вытаскивать значение доп.поля (оно там как раз к ИД материала + ИД поля привязано).

sivers, благодарю! Первую часть по Вашей наводке сделал и понял, куда копать.
Вторую часть (вывод поля по известному ID материала) нашел на англоязычном форуме Joomla!, где решение предложил effrit.

В итоге сделал так:
Код
<?php

// Получаем ID материала
$app  = JFactory::getApplication();
$id_article = $app->input->getInt('id');
echo $id_article;

// Получаем конкретное поле из этого материала
$db = JFactory::getDbo();
$query = 'select * from #__fields_values where item_id = "'.$id_article.'"';
$db->setQuery($query);
$fields = $db->loadObjectList();

foreach ($fields as $field) {
if ($field->field_id == 5) { // 5 - ID поля
echo $field->value;
}
}

?>

У меня работает. Не знаю, правда, насколько рационален код.
« Последнее редактирование: 01.06.2021, 00:18:16 от Vlad1 »
*

sivers

  • Живу я здесь
  • 2626
  • 363 / 0
У меня работает. Не знаю, правда, насколько рационален код.
Этот способ хорош тем, что не зависит от страницы (если только у вас есть ИД материала). Если же использовать передачу через глобальные переменные (или константы), то можно обойтись бэз запроса к БД. Хотя и запрос там не особо тяжелый, особенно если материалов не много.

Кстати, запрос, который вы нашли, читает все поля материала. Если в модуле надо выводить только одно поле (с ИД = 5), то лучше и тянуть из БД только его:
Код
$query = 'select value from #__fields_values where field_id = 5 AND item_id = "'.$id_article.'"';
$db->setQuery($query);
$fieldValue = $db->loadResult();
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Vlad1

  • Захожу иногда
  • 99
  • 0 / 0

Кстати, запрос, который вы нашли, читает все поля материала. Если в модуле надо выводить только одно поле (с ИД = 5), то лучше и тянуть из БД только его:
Код
$query = 'select value from #__fields_values where field_id = 5 AND item_id = "'.$id_article.'"';
$db->setQuery($query);
$fieldValue = $db->loadResult();

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

Рамка обрамляющая модуль в позиции

Автор alexs64

Ответов: 0
Просмотров: 2416
Последний ответ 21.11.2025, 09:02:57
от alexs64
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 7841
Последний ответ 28.04.2025, 10:25:44
от sivers
Вывести модуль в модуле

Автор jimka

Ответов: 2
Просмотров: 4648
Последний ответ 18.04.2025, 15:39:36
от fbr
[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 6229
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 2913
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav