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

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте.

Если вы не хотите показывать товары в каталогах при обнаружении у них нулевой либо отрицательной цены определенного типа(для определенной группы покупателей), то можно создать следующие триггеры, которые соответственно после операций обновления, добавления, удаления цен для товара подсчитывают значение цены определенного рода(для определенной группы покупателей) и снимают товар с публикации либо возвращают его к публикации, если цена положительная.
Для этого надо например в phpMyAdmin исполнить следующий SQL:
Код
DELIMITER ;
USE имя_вашей_БД;
DROP TRIGGER IF EXISTS имя_вашей_БД.`after_update_price`;
DELIMITER $$
CREATE
DEFINER = CURRENT_USER
TRIGGER имя_вашей_БД.after_update_price
AFTER UPDATE
ON antilopa.ytgb1_virtuemart_product_prices
FOR EACH ROW
BEGIN
  SET @total_retail_price = 0;
  SET @id = NEW.virtuemart_product_id;
  SET @total_retail_price = IFNULL((SELECT
    SUM(IFNULL(product_price, 0))
  FROM `ytgb1_virtuemart_product_prices`
  WHERE virtuemart_product_id = @id AND virtuemart_shoppergroup_id = 0),0);
  IF @total_retail_price <= 0 THEN
    UPDATE ytgb1_virtuemart_products
    SET published = 0
    WHERE virtuemart_product_id = NEW.virtuemart_product_id;
  ELSEIF @total_retail_price > 0 THEN
    UPDATE ytgb1_virtuemart_products
    SET published = 1
    WHERE virtuemart_product_id = NEW.virtuemart_product_id;
  END IF;
END
$$

DROP TRIGGER IF EXISTS имя_вашей_БД.`after_insert_price`
$$
CREATE
DEFINER = CURRENT_USER
TRIGGER имя_вашей_БД.after_insert_price
AFTER INSERT
ON имя_вашей_БД.ytgb1_virtuemart_product_prices
FOR EACH ROW
BEGIN
  SET @total_retail_price = 0;
  SET @id = NEW.virtuemart_product_id;
  SET @total_retail_price = IFNULL((SELECT
    SUM(IFNULL(product_price, 0))
  FROM `ytgb1_virtuemart_product_prices`
  WHERE virtuemart_product_id = @id AND virtuemart_shoppergroup_id = 0),0);
  IF @total_retail_price <= 0 THEN
    UPDATE ytgb1_virtuemart_products
    SET published = 0
    WHERE virtuemart_product_id = NEW.virtuemart_product_id;
  ELSEIF @total_retail_price > 0 THEN
    UPDATE ytgb1_virtuemart_products
    SET published = 1
    WHERE virtuemart_product_id = NEW.virtuemart_product_id;
  END IF;
END
$$


DROP TRIGGER IF EXISTS имя_вашей_БД.`after_delete_price`
$$
CREATE
DEFINER = CURRENT_USER
TRIGGER имя_вашей_БД.after_delete_price
AFTER DELETE
ON antilopa.ytgb1_virtuemart_product_prices
FOR EACH ROW
BEGIN
  SET @total_retail_price = 0;
  SET @id = OLD.virtuemart_product_id;
  SET @total_retail_price = IFNULL((SELECT
    SUM(IFNULL(product_price, 0))
  FROM `ytgb1_virtuemart_product_prices`
  WHERE virtuemart_product_id = @id AND virtuemart_shoppergroup_id = 0),0);
  IF @total_retail_price <= 0 THEN
    UPDATE ytgb1_virtuemart_products
    SET published = 0
    WHERE virtuemart_product_id = OLD.virtuemart_product_id;
  ELSEIF @total_retail_price > 0 THEN
    UPDATE ytgb1_virtuemart_products
    SET published = 1
    WHERE virtuemart_product_id = OLD.virtuemart_product_id;
  END IF;
END
$$
DELIMITER ;
Создавалось под VM 2.0.18a
Будьте внимательны, заменяя имя_вашей_БД на свою, префиксы таблиц (ytgb1_) на используемые у вас, а также указывая свой virtuemart_shoppergroup_id в условиях SELECT'a
« Последнее редактирование: 09.06.2014, 16:41:12 от borro »
*

jumlancerCom

  • Захожу иногда
  • 52
  • 2 / 1
Затем так сложно, можно же просто в шаблон category/default.php наприме сразу после
Код: php
// Start the Output
foreach ($this->products as $product) {
добавить условие типа
Код: php
if($product->prices['salesPrice'] > 0) {
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Затем так сложно, можно же просто в шаблон category/default.php например сразу после
Код: php
// Start the Output
foreach ($this->products as $product) {
добавить условие типа
Код: php
if($product->prices['salesPrice'] > 0) {
Да, решение пожалуй по-проще, надо также будет скрыть товары из появления в модулях(новинки, рекомендуемые,...). Правда остается еще вопрос - не останутся ли поисковикам видны ссылки на детальные представления товаров, у которых пустые(нулевые цены). Похоже все-таки надо снимать их с публикации, если не хотите их показывать совсем.
« Последнее редактирование: 28.05.2014, 09:40:05 от borro »
*

jumlancerCom

  • Захожу иногда
  • 52
  • 2 / 1
borro, то что не выводится через рнр - не выводится вообще, аналогично снятию с публикации, не оставляя никаких хвостов
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать товары в 2 колонки в моб версии?

Автор art22

Ответов: 4
Просмотров: 3763
Последний ответ 06.12.2022, 11:42:56
от art22
Как пересохранить все товары?

Автор stydent

Ответов: 1
Просмотров: 4177
Последний ответ 30.03.2022, 10:38:06
от itpremium
mod_virtuemart_product - как скрыть товары, которых нет в наличии?

Автор alexfom_16

Ответов: 40
Просмотров: 8465
Последний ответ 11.10.2021, 17:50:38
от hmr
Вывести товары из подкатегории в категорию

Автор xlite

Ответов: 78
Просмотров: 35054
Последний ответ 08.03.2021, 10:06:58
от kisBoss
Приоритетный Itemid для формирования ссылок на товары/категории

Автор rsn

Ответов: 2
Просмотров: 1285
Последний ответ 10.03.2020, 08:21:45
от rsn