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

slovoblud

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Починяю примуса
Использую стандартный модуль доставки. Нужно сделать так чтобы некоторые товары нельзя было покупать из за границы. То есть чтобы некоторые товары могли купить покупатели только из определенной страны (в моем случае это Украина). В принципе у меня уже установлен хак который позволяет привязать тариф доставки к конкретным странам, но вот как привязать товар к тарифу доставки я что то не пойму. В идеале хотелось бы получить просто чекбокс в карточке товара типа: "Разрешить доставку товара за границу да/нет" но это в идеале, а так я бы попробовал любые доступные варианты, решения этой проблемы.
 
*

fsv

  • Moderator
  • 2796
  • 414 / 2
В идеале хотелось бы получить просто чекбокс в карточке товара типа: "Разрешить доставку товара за границу да/нет"

Можно и так.
"Стандартным" модулем стараюсь не пользоваться из-за его громоздкости. На каждый вид доставки проще сделать свой индивидуальный модуль, учитывающий все хотелки и все взаимосвязи, в т.ч. с адресами, с оплатами. А стандартный хакни ради одной доставки, пачка других слетит.
Если в "персональном"модуле, то сначала из user_info получите страну доставки, если не Украина, то сделайте там перебор товаров корзины на проверку доп.поля (чекбокс). Если есть в корзине товары для внутреннего потребления, вместо радиокнопки с ценой можно вывести текст-предупреждение, можно и товары перечислить, которые запрещены к вывозу. Фрагменты кода можно подсмотреть, расковыряв другие не сложные модули доставок, принцип один.
Веб-разработка: заказ. Только новая разработка.
*

slovoblud

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Починяю примуса
Да просто уже все настроено для стандартного модуля по этому для него и спрашиваю решение. Хочу в файле get_shipping_method.tpl.php сделать проверку страны только вот не знаю как вытащить страну из базы. Не подскажите как можно вообще вытаскивать какой либо параметр из карточки товара чтобы его потом использовать в этом файле?  И как вытащить страну из user_info?
*

fsv

  • Moderator
  • 2796
  • 414 / 2
как вытащить страну из user_info?

Если вы не предоставляете возможность выбирать дополнительные адреса доставок, то ничего не надо запрашивать, страна есть в массиве данных авторизованного пользователя - $auth['country'] - если включить отладку, увидите.
Если есть доп. адреса, то страна адреса доставки может не совпадать со страной покупателя, и лучше ее уточнить:
Код: php
$db = new ps_DB;
$q = "SELECT country FROM #__{vm}_user_info WHERE ";
$q .= "user_info_id='". $d["ship_to_info_id"] . "'";
$db->query($q);
$db->next_record();
$country = $db->f("country"); 
Веб-разработка: заказ. Только новая разработка.
*

slovoblud

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Починяю примуса
Спасибо. Вчера ковырял в принципе где то почти также страну вытащить получилось. Но теперь еще нужно вытащить дополнительный параметр из карточки товара. Делаю так:
Код
$peremennaya = "SELECT product_length FROM #__{vm}_product WHERE product_id=185" ;
 
Здесь product_id написал в ручную просто чтобы попробовать вытащит он что то или нет. Теперь по идее нужно сделать так чтобы в product_id= подставлялся id товара который лежит в корзине, но вот как это сделать я пока не понял. И еще одна сложность в корзине  может быть не один товар. Так что я думаю написать условие чтобы проверялся определенный параметр каждого товара в корзине и если хоть один товар запрещен к отправке то чтобы заказ оформить было нельзя. Но опять же не знаю как это сделать. По идее наверное нужно вытаскивать в массив нужный мне параметр всех товаров что в корзине и проверять каждый параметр по очереди, но опять же как их все вытащить не знаю.
*

fsv

  • Moderator
  • 2796
  • 414 / 2
нужно вытаскивать в массив нужный мне параметр всех товаров что в корзине и проверять каждый параметр по очереди
      
Код: php
global $cart;

for ($i=0;$i<$cart["idx"];$i++) {

   $q = "SELECT * FROM #__{vm}_product " ;
   $q .= "WHERE product_id= " . $cart[$i]["product_id"];
   $db->query( $q ) ;
   $db->next_record() ;
   $product_rows[$i]['product_length'] = $cart[$i]['product_length'];   

   if ($product_rows[$i]['product_length'] > 2000 ) {
      echo "very long";
   }

}
Веб-разработка: заказ. Только новая разработка.
*

slovoblud

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Починяю примуса
fsv что то не хочет работать этот код уже вставлял его и в standard_shipping.php и в get_shipping_method.tpl.php и  в basket_b2c.html.php и все равно не работает, выдаёт белую страницу и кодировка слетает, хотя код вроде правильный. В чем проблема может быть?
*

fsv

  • Moderator
  • 2796
  • 414 / 2
fsv что то не хочет работать этот код уже вставлял его и в standard_shipping.php и в get_shipping_method.tpl.php и  в basket_b2c.html.php и все равно не работает, выдаёт белую страницу и кодировка слетает, хотя код вроде правильный. В чем проблема может быть?

Этот код надо использовать в файле класса метода доставки (в вашем случае, в standard_shipping.php) в function list_rates.
Если белая страница, значит не так всунули.
Веб-разработка: заказ. Только новая разработка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль доставки "Почтой России"

Автор alibedog

Ответов: 104
Просмотров: 63752
Последний ответ 13.07.2021, 17:36:09
от SolopoV
Модуль доставки Укрпочта

Автор al_13

Ответов: 13
Просмотров: 9959
Последний ответ 13.05.2021, 12:57:59
от nnnata
Уведомление о заказе в зависимости от варианта доставки

Автор baltazors

Ответов: 0
Просмотров: 4689
Последний ответ 07.06.2017, 11:44:10
от baltazors
Модуль доставки - самовывоз. Как сделать?

Автор demonm

Ответов: 18
Просмотров: 11636
Последний ответ 29.04.2017, 17:31:56
от princeyury
Варианты доставки из админки

Автор El_nik

Ответов: 7
Просмотров: 4973
Последний ответ 27.04.2017, 10:51:38
от El_nik