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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Не прокатило, $server пуста

upd
нет, не пуста, просто забыл, что отдельный элемент массива - не строка, пришлось дописать
Код: php
$server = (string)$server;
« Последнее редактирование: 03.02.2015, 00:40:47 от AlekVolsk »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Выявил страшный косяк, который не могу победить, мозг слегка уже потек...

Форма выводится как на основном родительском сайте, где установлен компонент (mysite.ru), так и во фрейме стороннего сайта (partner.ru), url которого необходимо получить.

В форме присутствует поле <input type="hidden" name="partner_server" value="<?php echo $_SERVER['HTTP_REFERER']; ?>" />

В контроллере - обработчике формы:
Код: php
// получаем основное uri, с которого пришла форма, как правило равно
// mysite.ru/index.php?option=com_mycomponent&view=rqform&tmpl=component&key=ключ
$uri = $_SERVER['HTTP_REFERER'];

// получаем URL из поля формы
$partner_server = $this->input->getString('partner_server');

// получаем доменное имя из URL из поля формы
$fact_server = parse_url($partner_server, PHP_URL_HOST);

// получаем родительское доменное имя
$local_server = parse_url(JUri::base(), PHP_URL_HOST);

// если вызов гарантированно из формы с partner.ru, то
if ($fact_server != $local_server) {
 
  // переменная $server в дальнейшем нужна для обработки формы и формирования ответного uri
  $server = (string)$fact_server;

  // к основному uri приписываем параметр server со значением 'partner.ru' (без кавычек, есс-но)
  $uri .= '&server='.$server;

// иначе
} else {

  // получаем переменную $server из URL из поля формы
  parse_str(parse_url($partner_server, PHP_URL_QUERY));
  $server = (string)$server;
}

// тут обработка формы и формирование ответа

// возвращаемся на страницу формы обратно
$this->setRedirect(JRoute::_($uri));

// сообщение ответ
JFactory::getApplication()->enqueueMessage($uri);

Во всех случая возвращаемый ури равен mysite.ru/index.php?option=com_mycomponent&view=rqform&tmpl=component&key=ключ&server=partner.ru

Когда из формы идет первый post, $partner_server = http://partner.ru

В третий и все последующий разы $partner_server = http://mysite.ru/index.php?option=com_mycomponent&view=rqform&tmpl=component&key=ключ&server=partner.ru

А вот во второй раз $partner_server = http://mysite.ru/index.php?option=com_mycomponent&view=rqform&tmpl=component&key=ключ - отсутствует должный находится там &server=partner.ru, ПОЧЕМУ ЕГО ТАМ НЕТ? хотя во всех случаях в enqueueMessage в $uri этот параметр существует!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Было решено совместно с zomby6888 при личной консультации, спс ему большое!
Решение:
в контроллере:
Код: php
    $uri = $_SERVER['HTTP_REFERER'];
    $partner_server = urldecode($this->input->getString('partner_server'));
    if (!strpos($uri, 'server')) {
      $server = (string)parse_url($partner_server, PHP_URL_HOST);
      $uri .= '&server='.urlencode($server);
    } else {
      $server = (string)$partner_server;
    }
в форме:
Код: php-brief
<input type="hidden" name="partner_server" value="<?php $ref = isset($_GET['server'])? $_GET['server'] : urlencode($_SERVER['HTTP_REFERER']); echo $ref; ?>" />
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Баг. В модуле выводится значение параметра из другого модуля

Автор fbr

Ответов: 10
Просмотров: 1386
Последний ответ 18.04.2021, 21:34:10
от fbr
[Решено] Узнать какие плагины загружены

Автор lexx006

Ответов: 3
Просмотров: 2388
Последний ответ 20.07.2015, 09:55:54
от lexx006
Как узнать количество запросов к бд?

Автор indigo

Ответов: 1
Просмотров: 1793
Последний ответ 31.07.2013, 23:39:35
от smart
Как с помощью jquery или javascript узнать зашол ли некий обьект за скрол или нет?

Автор kontrast

Ответов: 0
Просмотров: 1582
Последний ответ 26.02.2013, 18:45:35
от kontrast