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

artserge

  • Захожу иногда
  • 118
  • 11 / 0
В стандартном функционале VirtueMart самые популярные (покупаемые) товары считаются по принципу "выбрать товары отсортировав по количеству подтвержденных покупок"

Меня это не устроило - возникла задача сделать вывод без учета подтверждения - т.е. если товар кто-то купил, то он автоматом считается в топ.

Код отвечающий за эту выборку находится в administrator\components\com_virtuemart\models\product.php

Код
case 'topten':
$orderBy = ' ORDER BY p.`product_sales` '; //LIMIT 0, '.(int)$nbrReturnProducts;  //TODO set limitLIMIT 0, '.(int)$nbrReturnProducts;
$where[] = 'pp.`product_price`>"0.0" ';
$this->filter_order_Dir = 'DESC';
break;


изменяем условие на
Код
case 'topten';

$joinedTables .= ' JOIN `#__virtuemart_product_ordercount` AS po using (`virtuemart_product_id`)';
$orderBy = ' ORDER BY po.`orders_count` ';
$where[] = 'pp.`product_price`>"0.0"  ';
$this->filter_order_Dir = 'DESC';
break;

и переносим кусок кода

Код
if ($joinLang) {
$select = ' l.`virtuemart_product_id` FROM `#__virtuemart_products_' . VMLANG . '` as l';
$joinedTables = ' JOIN `#__virtuemart_products` AS p using (`virtuemart_product_id`)';
}
else {
$select = ' p.`virtuemart_product_id` FROM `#__virtuemart_products` as p';
$joinedTables = '';
}

выше нашей выборки, т.е. например перед switch ($this->filter_order) {

Ну и создаем вьюшку которая хранит ID товара и кол-во его покупок. Кол-во заказанных единиц товара я не учитываю - вдруг кто-то купит 1000 каких-нибудь мелких гаек, и товар жирно вылезет в топ)

Код
CREATE VIEW `ПРЕФИКС_virtuemart_product_ordercount` AS (select `vp`.`virtuemart_product_id` AS `virtuemart_product_id`,count(`vo`.`virtuemart_product_id`) AS `orders_count` from (`ПРЕФИКС_virtuemart_products` `vp` join `ПРЕФИКС_virtuemart_order_items` `vo`) where (`vo`.`virtuemart_product_id` = `vp`.`virtuemart_product_id`) group by `vo`.`virtuemart_product_id` order by count(`vo`.`virtuemart_product_id`) desc);

Решение может и не супер виртуозное, зато редактируем только 1 файл.
Как вариант - можно поставить в базе триггер на добавление товара в #__virtuemart_order_items который бы изменял значение sales_count в #__virtuemart_products , но тогда придется искать место где при обновлении статуса заказа этот счетчик меняется, и там отключать этот апдейт.

А так - в #__virtuemart_products имеем кол-во подтвержденных продаж, в #__virtuemart_product_ordercount  - кол-во всех продаж, подтвержденных и не подтвержденных)

Пишу больше для того чтоб не забыть и поделиться - вдруг кому пригодится.
*

kasper9820

  • Захожу иногда
  • 127
  • 4 / 6
  • ...ISponsor!
Отличный топик, как вывести количество совершенных продаж (не штук) в карточку товара и в категорию.
Еще интересует, как вывести в карточку перечень покупателей (зарегистрировавшихся), которые покупали товар с их данными (аватар, имя и т.д.). Заранее спасибо
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод названий всех категорий и товаров в них на главной ((vm3))

Автор PavelK

Ответов: 0
Просмотров: 3888
Последний ответ 15.02.2022, 14:34:52
от PavelK
Limit показать на страницу + пагинация pagination ломают отображение товаров

Автор kreker92

Ответов: 0
Просмотров: 3768
Последний ответ 08.11.2021, 18:02:40
от kreker92
[Решено] Список товаров на главной VirtueMart

Автор vitoxa_ya

Ответов: 6
Просмотров: 12123
Последний ответ 21.10.2020, 23:27:08
от alfa212
Удаление всех товаров из корзины одним кликом.

Автор Chifu

Ответов: 10
Просмотров: 10917
Последний ответ 19.04.2020, 20:21:03
от grub
Сортировка в VirtueMart 2 по умолчанию, по наличию товаров и по цене

Автор vfxbro

Ответов: 7
Просмотров: 4617
Последний ответ 27.04.2019, 09:51:05
от rsn