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

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Joomla 1.5.10
VirtueMart 1.1.3


Добрый день!

Хочу научить корзину принимать товары только одного производителя. Пока покупатель не оформит заказ (и корзина обнулится), либо не удалит выбранные товары до оформления - ставить запрет на добавление товара с другим производителем.

Насколько я понял, надо добавить нехитрое условие в ps_cart.php
Передачу данных в сессию корзины (в блоке функции добавления товара в корзину) делаю следующим образом:
Код
$_SESSION['cart'][$k]["manufacturer_id"] = $e["manufacturer_id"];
И, в общем-то, успешно :) Дело за малым - написать условие для последующих добавлений товаров в корзину.

Итак, уважаемые знатоки, вопрос: где и как написать условие (почему-то кажется, что в том же ps_cart.php должна быть проверка), по которому в корзину не будут добавляться товары с отличным производителем товара от уже добавленного в корзину, а вместо этого пользователю выводился грозный "ай-яй-яй"?  ;D

P.S. идея родилась от безысходности в ожидании версии ВиртуМарта 1.2.х с поддержкой мульти-вендорности. Видел хак от esmark'a на Виртуй 1.0.14, но сложно всё это перенести на 1.5.10. Будем брать организационными мерами!
« Последнее редактирование: 12.06.2009, 04:04:54 от crazymuzzle »
*

crazymuzzle

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Цитировать
всё гениальное - просто
но не всё простое - гениально

 :D решение вымучалось!
Придется самому пить пиво  *DRINK*

В ps_cart.php необходимо добавить:
Код
// Проверяем уникальность производителей
            $main_manufacturer = $e["manufacturer_id"];
            for ($i=0;$i<$_SESSION["cart"]["idx"];$i++) {
        if ($_SESSION['cart'][$i]["manufacturer_id"] != $main_manufacturer)
        {
         $vmLogger->warning( $VM_LANG->_('MANUFACTURER_LIMIT',false) );
         return False;
        }
       }
Соответственно, в языковой файл добавлена соответствующая строка 'MANUFACTURER_LIMIT'
А кодом:
Код
$_SESSION['cart'][$k]["manufacturer_id"] = $e["manufacturer_id"];
всё-таки добавляю информацию о производителе в сессию корзины - его вставил после
Код
// added for the advanced attribute modification


То же самое можно реализовать и для других параметров добавляемого товара.
Кому решение пригодится - просьба не проходить мимо, критиковать или благодарить.
« Последнее редактирование: 22.07.2009, 15:34:06 от beagler »
*

hiway

  • Осваиваюсь на форуме
  • 22
  • 8 / 1
  • Это просто путь длинною в жизнь...
Здравствуйте!
Очень классное решение. Очень нужное.

А для совсем не умных  ^-^ Вы бы могли более детально описать  процесс внедрения. Точнее указать место куда нужно вставить код?

Спасибо.
*

hiway

  • Осваиваюсь на форуме
  • 22
  • 8 / 1
  • Это просто путь длинною в жизнь...
Не знаю правильно ли, но разобрался вроде.

Не имея нормальных знаний php, методом перебор вычислил позицию для вставки условия. Вставил непосредственно перед

// If we did not update then add the item

То есть перед апдейтом количества в цикле итерации по product_id Протестировал. Работает.

Если неправильно сделал, то поправьте пожалуйста. Спасибо.
*

DNK

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Joomla 1.5.25
VirtueMart 1.1.9


Встала аналогичная задача, только нужно ограничить по продавцу. Соответственно вставил перед строчкой:
Код
// If we did not update then add the item
Следующий код:
Код
// Проверяем уникальность продавца
            $main_vendor = $e["vendor_id"];
            for ($i=0;$i<$_SESSION["cart"]["idx"];$i++)
{
        if ($_SESSION['cart'][$i]["vendor_id"] != $main_vendor)
        {
         $vmLogger->warning( $VM_LANG->_('VENDOR_LIMIT',false) );
         return False;
        }
}
Затем, сразу после:
Код
// added for the advanced attribute modification
Вставил:
Код
//проверка для одного типа продавца
$_SESSION['cart'][$k]["vendor_id"] = $e["vendor_id"];
Но, что-то не срабатывает фишка, товары от разных продавцов спокойно добавляются в корзину  :(
*

goodmoodxd

  • Новичок
  • 7
  • 0 / 0
Всем привет!
У меня похожая ситуация. Не подскажете как реализовать ограничение на особенность товара?
Только нужно наоборот, чтобы товары с одинаковой особенностью не добавлялись в корзину.

Пробовал так же как с производителями, но получается так, что теперь вообще нельзя больше одного товара добавить. Независимо от того одинаковые у них особенности или нет :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться