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

stincv

  • Новичок
  • 8
  • 2 / 0
Доброго дня.

Возникла проблема с созданием зависимых полей для модуля средствами стандартной документации:
https://docs.joomla.org/SQL_form_field_type

Если подробнее, в модуле я добавил для поля:
Код
<field name="catid"
    type="sql"
    label="категория"
    sql_select="*"
    sql_from="#__categories"
    sql_order="id ASC"
    sql_group="title"
    sql_where="parent_id=46"
    key_field="id"
    value_field="title"
/>

<field name="people"
    type="sql"
    label="материал"
    sql_select="*"
    sql_from="#__content"
    sql_filter="catid"
    sql_group="title"
    value_field="title"
/>
В админке, в настройках модуля поля появились, по если выбрать в поле "catid" какую-либо категорию, то во втором поле ничего не меняется - все также отображаются все материалы из всех категорий. Даже не происходит AJAX запросов в консоли браузера, хотя по идее они и должны вызываться, чтобы обновить список значений второго поля.
Более того, если включить debug режим, то на странице редактирования модуля я вижу следующий дебаг по данным полям:

То есть видно, что для поля "people" формируется sql-запрос:
Код
SELECT *

  FROM lui_content

  GROUP BY title
и нигде нет упоминания про "WHERE catid = ", хотя в документации все четко описано.

У меня вопрос к сообществу, может кто-нибудь сталкивался с подобной проблемой? Почему не работает параметр sql_filter, может это я что-то делаю не так.

P.S.: Joomla 3.6.4
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Даже не происходит AJAX запросов в консоли браузера, хотя по идее они и должны вызываться, чтобы обновить список значений второго поля.
А скрипт, который должен посылать AJAX-запрос, есть?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

stincv

  • Новичок
  • 8
  • 2 / 0
А скрипт, который должен посылать AJAX-запрос, есть?

Откуда же я знаю - Joomla установлена из оф.пакета. Думаете они не добавляют туда скрипты, которые участвуют в процессах описанных в их документации? Если Вы знаете какой именно скрипт должен осуществлять AJAX, просьба сообщить, я поищу его.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Откуда же я знаю - Joomla установлена из оф.пакета. Думаете они не добавляют туда скрипты, которые участвуют в процессах описанных в их документации?
Насколько я знаю, из коробки - нет.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
а с чего вы взяли что там AJAX запрос должен быть?
Цитировать
и нигде нет упоминания про "WHERE catid = ", хотя в документации все четко описано.
может он появиться только после сохранения параметров
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Пишите свой тип поля, и не парьтесь, по идеи работать конечно должен, но. это же офф дока Joomla вареника что нибудь забыли. например onchange написать +
как верно сказано, скорее всего там просто нет AJAX
а чтобы проблем не было есть sql_default_
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
и нигде нет упоминания про "WHERE catid = ", хотя в документации все четко описано.
Это условие появится только тогда, когда параметр catid непустой и передан в $_REQUEST['filter'] или в сессию.
а чтобы проблем не было есть sql_default_
Не то - sql_default_ нельзя динамически менять, а ТС хочет, чтобы второй select менял значение в зависимости от первого.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Не то - sql_default_ нельзя динамически менять, а ТС хочет, чтобы второй select менял значение в зависимости от первого.
Ну а если 0 ? оно то и нужно если в первом поле пусто.
« Последнее редактирование: 08.11.2016, 15:15:46 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Ну а если 0 ? оно то и нужно если в первом поле пусто.
Будет
Код: sql
WHERE catid = 0
Может найти не то, что нужно или вообще ничего не найдет. Но это не относится к теме: ТС думал, что в офф.пакет уже включен динамическое изменение значения select AJAX'ом.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

stincv

  • Новичок
  • 8
  • 2 / 0
ТС думал, что в офф.пакет уже включен динамическое изменение значения select AJAX'ом.

Именно так думал ТС)
Из всего вышесказанного я понял, что sql_filter вообще не работает в данный момент. Не пойму почему в некоторых мануалах в сети приводят пример с sql_filter...
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Именно так думал ТС)
Из всего вышесказанного я понял, что sql_filter вообще не работает в данный момент. Не пойму почему в некоторых мануалах в сети приводят пример с sql_filter...
Я думаю он вполне работает. Просто кто вам вообще сказал что там AJAX в маунале и доках про AJAX ни слова
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

sdi_68

  • Новичок
  • 9
  • 0 / 0
Столкнулся с той же проблемой. Посмотрел код ,действительно в Joomla сейчас нет поддержки для такого параметра. Решил доработкой файла .\libraries\joomla
\form\fields\sql.php
После строки
Код
$filters = isset($this->element['sql_filter'])? explode(',', $this->element['sql_filter']) : '';
Вставил
Код
					$curfrm = $this->form;
foreach($filters as $i => $v )
{
$filterval = $curfrm->getValue( $v, $group );
if (!is_null( $filterval ) )
$filters[$i] = $v.'='.$filterval;
}


В функцию processQuery внес следующие изменения
Код
		// Process the filters
if (is_array($filters))
{
$html_filters = JFactory::getApplication()->getUserStateFromRequest($this->context . '.filter', 'filter', array(), 'array');

foreach ($filters as $k => $value)
{
if (!empty($html_filters[$value]))
{
$escape = $db->quote($db->escape($html_filters[$value]), false);

$query->where("{$value} = {$escape}");
}
elseif (!empty($defaults[$value]))
{
$escape = $db->quote($db->escape($defaults[$value]), false);

$query->where("{$value} = {$escape}");
}
//  добавляем обработку XML параметра sql_filter BOF
else {
$query->where("{$value}");
}
//  добавляем обработку XML параметра sql_filter EOF
}
}


Вроде как работает :). Может кто-нибудь предложит лучший вариант решения....
*

alexy.74

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Столкнулся с той же проблемой. Посмотрел код, действительно в Joomla сейчас нет поддержки для такого параметра. Решил доработкой файла .\libraries\joomla
\form\fields\sql.php
После строки
Код
$filters = isset($this->element['sql_filter'])? explode(',', $this->element['sql_filter']) : '';
Вставил
Код
					$curfrm = $this->form;
foreach($filters as $i => $v )
{
$filterval = $curfrm->getValue( $v, $group );
if (!is_null( $filterval ) )
$filters[$i] = $v.'='.$filterval;
}


В функцию processQuery внес следующие изменения
Код
		// Process the filters
if (is_array($filters))
{
$html_filters = JFactory::getApplication()->getUserStateFromRequest($this->context . '.filter', 'filter', array(), 'array');

foreach ($filters as $k => $value)
{
if (!empty($html_filters[$value]))
{
$escape = $db->quote($db->escape($html_filters[$value]), false);

$query->where("{$value} = {$escape}");
}
elseif (!empty($defaults[$value]))
{
$escape = $db->quote($db->escape($defaults[$value]), false);

$query->where("{$value} = {$escape}");
}
//  добавляем обработку XML параметра sql_filter BOF
else {
$query->where("{$value}");
}
//  добавляем обработку XML параметра sql_filter EOF
}
}


Вроде как работает :). Может кто-нибудь предложит лучший вариант решения....

а эта функция processQuery где расположена и после чего ее вставлять?
*

sdi_68

  • Новичок
  • 9
  • 0 / 0
в том же файле
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как из Стиль модуля - none, убрать custom

Автор all_zer

Ответов: 3
Просмотров: 4136
Последний ответ 15.11.2025, 16:20:01
от all_zer
Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 5265
Последний ответ 21.05.2025, 12:44:06
от jeans
Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 8594
Последний ответ 06.04.2025, 09:27:20
от wishlight
Не работает капча

Автор Leo1986

Ответов: 4
Просмотров: 2181
Последний ответ 16.09.2024, 09:15:28
от Leo1986
Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 1806
Последний ответ 07.09.2024, 13:19:48
от timofe