Новости Joomla

Перевод и публикация интервью на греческом портале Joomla Утро, просматриваешь входящие письма и...

Перевод и публикация интервью на греческом портале Joomla 🇬🇷Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции.Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью. Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент. 🇬🇷 Интервью на греческом портале (joomla.gr)🌐 Оригинальное интервью (на английском)Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 2452 Просмотров
*

alikon1

  • Осваиваюсь на форуме
  • 32
  • 2 / 0
Появилось ли решение для добавления дробного количества товара в VM3, как это было сделано в VM2 и VM1.5? Всё обыскал, ответ нигде не могу найти.
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Дробное количество товара в VM3
« Ответ #1 : 22.10.2016, 12:09:31 »
/components/com_virtuemart/assets/js/vmprices.js
Попробуйте изменить строку. - 124
Код
Ste = parseInt(quantity.attr("step"));
Замените на
Код
Ste = parseFloat(quantity.attr("step"));

и чуть ниже строка 126
Код
Qtt = parseInt(quantity.val());
Меняем на
Код
 Qtt = parseFloat(quantity.val());


И соответственно в товаре на вкладке Статус в поле Шаги по оформлению количества поставить дробное число. 0.5

Не знаю не тестировал... Но кажется что должно работать.
*

alikon1

  • Осваиваюсь на форуме
  • 32
  • 2 / 0
Re: Дробное количество товара в VM3
« Ответ #2 : 22.10.2016, 16:02:39 »
Как и раньше в предыдущих VirtueMart

1. Изменил БД:
   #_virtuemart_products поле product_in_stock с integer на float
   #_virtuemart_order_items поле product_quantity с integer на float

2. В \components\com_virtuemart\helpers\cart.php упоминания int quantity заменил на float quantity
3. В components\com_virtuemart\assets\js\vmprices.js заменил parseInt на parseFloat в 7-ми местах.
4. В параметрах самого товара в настройках VirtueMart выставил шаг 0.1

Теперь показывается предупреждение Warning: Division by zero in \components\com_virtuemart\helpers\cart.php on line 1735.
При нажатии кнопки добавления в корзину бесконечно крутится fancybox, при этом соответственно данные в мини корзине не обновляются.
Если обновить страницу вручную, в корзине вместо "Корзина пуста" отображается итоговая сумма (верная), ссылка Показать корзину, но вместо кол-ва товара всё-равно надпись "Корзина пуста". Если перейти в корзину, то там кол-во и итоговая сумма отображается верно.
*

alikon1

  • Осваиваюсь на форуме
  • 32
  • 2 / 0
Re: Дробное количество товара в VM3
« Ответ #3 : 22.10.2016, 16:14:22 »
Так же странно ведет себя отображаемое количество товара при изменении +/-. Значения идут 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999, 1.0999999999999999, 1.2, 1.3, 1.4000000000000001, 1.5000000000000002, 1.6000000000000003, 1.7000000000000002, 1.8000000000000003, 1.9000000000000004, 2, 2.1, 2.2... Вместо просто шага через 0.1
*

Танита Сар

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Дробное количество товара в VM3
« Ответ #4 : 11.04.2018, 11:59:54 »
Я нашла такой вариант на связке VM 3 + плагин One Page Checkout for VirtueMart



Меняем в таблице virtuemart_products поле product_in_stock с integer на float.
И в таблице virtuemart_order_items также меняем поле product_quantity.
**
components\com_virtuemart\helpers\cart.php
Теперь и в этом файле нужно изменить обработку для типа числа. Ищем опять слово quantity и меняем приведение к int на приведение к float.
**
/plugins/system/onepage_generic
vmprices.js
Открываем файл в текстовом редакторе и ищем все вхождения слова quantity. Если для поля количества используется приведение к целому parseInt, то мы меняем тип с целого на float - parseFloat.

это дало возможность только  писать в корзине вручную дробные числа через точку


********
шаг 0,1 в корзине onepage_generic
plugins/system/onepage_generic/cart/tmpl/default_left.php

заменить все $step=1 на $step=0.1

*******
шаг 0,1 на странице товара
templates/shaper_megadeal_ii/html/com_virtuemart/sublayouts/addtocartbar.php
заменить все $step=1 на $step=0.1


В результате кнопками +/- можно увеличивать уменьшать кол-во товара на 0,1 начиная с 1.

***
если в магазе есть товары поштучно, то в каждом товаре поставить шаг товара 1 или любой другой  нужный шаг (напр  по 0,8)



Осталась одна проблема как писали выше, шаги выглядят так - 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999. Правда после добавления в корзину все округляется до нужного. Но если в корзине изменять то опять получаются такие хвосты.

Кто нибудь знает как сделать чтобы после точки писалась только одна десятичная?
*

erbsen

  • Новичок
  • 9
  • 0 / 0
Re: Дробное количество товара в VM3
« Ответ #5 : 12.03.2020, 14:16:42 »
Я прошу прощения, могли бы помочь, разъяснить? В сети по этому вопросу есть только этот вариант.
у меня J3.9.12+VirtueMart 3.4.2
В какой таблице менять integer на float, если речь идёт о базе данных - у меня в поле product_in_stock стоит доступное количество товара.

$step=1 на $step=0.1 менял, приведение к int на приведение к float тоже, выставлял шаг в товаре, кэш чистил - ни к чему не привело.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка По наличию товара - сначала По убыванию в VirtueMart

Автор rsn

Ответов: 7
Просмотров: 3925
Последний ответ 10.04.2025, 01:19:37
от strongest
Открытие карточки товара VirtueMart3 в новом окне из категории

Автор djed9

Ответов: 2
Просмотров: 2903
Последний ответ 16.07.2021, 09:06:35
от djed9
Как в RSS ленту VirtueMart 3 добавить дополнительные изображения товара?

Автор Slava77

Ответов: 2
Просмотров: 3552
Последний ответ 06.06.2021, 01:12:01
от Slava77
Продублировать фото товара после описания

Автор djed9

Ответов: 3
Просмотров: 914
Последний ответ 11.02.2020, 13:16:46
от djed9
Отключение всплывающего окна и перехода в корзину при добавлении товара

Автор calashnikov

Ответов: 15
Просмотров: 13114
Последний ответ 03.02.2020, 16:07:06
от zrkyuseo