Новости Joomla

👩‍💻 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 Гость просматривают эту тему.
  • 8 Ответов
  • 3448 Просмотров
*

vova.olar

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Изменения в работе JTable
« : 27.01.2011, 13:57:43 »
Допустим имеем следующий код:

Код
$tbl = JTable::getInstance('TblName', 'prefix');
$tbl->load(0);
// либо $tbl->load();
// либо $tbl->load('');

в Joomla! 1.5 возвращал FALSE, что в принципе логично т.к. записи с таким первичным ключом в базе нет.
в Joomla! 1.6 возвращает TRUE (но FALSE при указании несуществующего первичного ключа)
тоесть в 1.6 TRUE возвращается для пустого ключа

Кто-то может обьяснить для какой светлой цели было сделано подобное поведение?
Тем кто проверял таким образом существование записи в БД придется переписывать рабочий в 1.5 код...
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Изменения в работе JTable
« Ответ #1 : 27.01.2011, 14:26:00 »
Ну если посмотреть код, то в Joomla 1.6 он несколько отличается:

Код: php
		// Check for a database error.
if ($this->_db->getErrorNum()) {
$e = new JException($this->_db->getErrorMsg());
$this->setError($e);
return false;
}

// Check that we have a result.
if (empty($row)) {
$e = new JException(JText::_('JLIB_DATABASE_ERROR_EMPTY_ROW_RETURNED'));
$this->setError($e);
return false;
}

// Bind the object with the row and return.
return $this->bind($row);

и в Joomla 1.5:
Код: php
		if ($result = $db->loadAssoc( )) {
return $this->bind($result);
}
else
{
$this->setError( $db->getErrorMsg() );
return false;
}

По логике Joomla 1.6 ошибка будет в 3-х случаях:
1. произошла ошибка в SQL
2. вернулся пустой результат
3. в процессе маппинга результата на объект произошла ошибка

Отсутствие записи по указанному ключу должно попадать под 2-й пункт. Другое дело, если посмотреть описание параметра, мы заметим:

Цитировать
An optional primary key value to load the row by, or an array of fields to match.  If not set the instance property value is used.

Вот последнее предложение может быть вполне критичным - мы же имеем дело с singleton'ом, т.е. получается может быть использовано значение от предыдущего вызова.
*

vova.olar

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Изменения в работе JTable
« Ответ #2 : 27.01.2011, 16:46:34 »
Код
if (empty($keys)) {
// If empty, use the value of the current key
$keyName = $this->_tbl_key;
$keyValue = $this->$keyName;

// If empty primary key there's is no need to load anything
if (empty($keyValue)) {
return true;
}

        ...
}

>> If empty primary key there's is no need to load anything
Вот не пойму почему? И почему возвращается TRUE? Ведь сейчас запрос не делался и предыдущего вызова не было (судя по пустому $keyValue)...
« Последнее редактирование: 27.01.2011, 16:51:29 от vova.olar »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Изменения в работе JTable
« Ответ #3 : 27.01.2011, 16:54:33 »
Хм, похоже на баг. Запости это в баг-треккер, я думаю они быстро отреагируют. Можешь потом скинуть сюда номер ошибки, я по своим каналам попробую ее продвинуть к рассмотрению.
*

vova.olar

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Изменения в работе JTable
« Ответ #6 : 28.01.2011, 11:36:43 »
Поздравлять можно будет, когда станет ready to commit. А пока, что даже патча нет. И, насколько я понимаю, они сами еще не знают, что с этим делать.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Изменения в работе JTable
« Ответ #7 : 28.01.2011, 11:51:37 »
Поздравлять можно будет, когда станет ready to commit. А пока, что даже патча нет.
Дык я просто поздравил vova.olar с пойманным багом ;)
Цитировать
И, насколько я понимаю, они сами еще не знают, что с этим делать.
Да они вообще потеряны... Где блин 1.6.1? Уже столько накопилось, а патча все нет и нет...
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Изменения в работе JTable
« Ответ #8 : 28.01.2011, 12:39:44 »
Ну там просто есть целая пачка исправлений, которые пока еще не оттестировали. Почти каждый день на канале группы локализации просят проверить тот или иной патч.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JTable - что это?

Автор ZloiOrk

Ответов: 46
Просмотров: 9322
Последний ответ 13.05.2020, 16:48:26
от vitalicc