Новости Joomla

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

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

pcom

  • Новичок
  • 6
  • 0 / 0
Добрый день!
Собственно все указано в теме. Это нормальное поведение VirtueMart? В настройках VirtueMart в галка проверять куки стоит, в браузере так же куки включены. Но после закрытия браузера и захода на сайт - корзина пустая. Режим инкогнито не использую.
Для авторизованных пользователей корзина сохраняется. Мне нужно чтоб человек зашел, набрал корзину а через некоторое время опять зашаел на сайт и продолжил работу с корзиной.

Заранее спасибо за ответы.

PS:Я уже позже нашел эту  ветку. Спасибо модерам, что перенесли :)
« Последнее редактирование: 25.09.2015, 14:32:02 от pcom »
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Это нормальное поведение VirtueMart?
Для авторизованных пользователей корзина сохраняется.
Да. Для авторизованных сохраняет в базу, таблица #__{vm}_cart .

Хотите в cookie, дописывайте вариант для не авторизованных в \administrator\components\com_virtuemart\classes\ps_cart.php
function saveCart(), function initCart()
может, еще где/чего, не вникал
Веб-разработка: заказ. Только новая разработка.
*

pcom

  • Новичок
  • 6
  • 0 / 0
Да. Для авторизованных сохраняет в базу, таблица #__{vm}_cart .

Хотите в cookie, дописывайте вариант для не авторизованных в \administrator\components\com_virtuemart\classes\ps_cart.php
function saveCart(), function initCart()
может, еще где/чего, не вникал

Ясно, спасибо! Т.е. по умолчанию для незарегестрированных корзина не сохраняется, печаль.

Может тогда направите в нужное русло, а может кто и возьмется сделать.
Задача крайне понятна, возвращение брошенных корзин. Есть покупатель e-mail которого мы знаем и знаем какие товары он положил в корзину, даже если он не авторизован на сайте, если он ушел с сайта без оформления заказ, то мы в догонку шлем письмо, что корзина не пустая, предлагаем скиду или что-то интересное и т.д. В текущей ситуации человек возвращается на сайт и корзина пустая, что очень конечно его напрягает.
Была идея  формировать URL специальный с id товарами в корзине, чтобы при переходе по URLу товары бы автоматически добавлялись в корзину.
Это конечно костыль, хотелось бы иметь нормальную систему через куки. Кто-нибудь сможет такое реализовать?
*

fsv

  • Moderator
  • 2781
  • 410 / 2
Есть покупатель e-mail которого мы знаем и знаем какие товары он положил в корзину, даже если он не авторизован на сайте
Откуда вы знаете его email? Если человек зашел на сайт, НЕ авторизовался, накидал корзину, которую ему записали в кукисы (новый хак из первого сообщения). Откуда вы вообще что-то узнаете? Ну, то что накидал в корзину, можно отследить. Но мыло его вы откуда узнаете?

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

pcom

  • Новичок
  • 6
  • 0 / 0
Откуда вы знаете его email? Если человек зашел на сайт, НЕ авторизовался, накидал корзину, которую ему записали в кукисы (новый хак из первого сообщения). Откуда вы вообще что-то узнаете? Ну, то что накидал в корзину, можно отследить. Но мыло его вы откуда узнаете?


Конечно из воздуха не узнаю. Есть система сбора e-mail через виджет при уходе с сайта, есть люди которые уже покупали и просто не авторизовываются, их e-mail мы знаем, есть люди которые проходят этап оформления, вбивают e-mail, но до конца заказ не оформляют, просто чтобы узнать стоимость доставки, эти e-mail тоже собираются, есть те, кто обращался через чат на сайте оставив e-mail и т.д.



« Последнее редактирование: 25.09.2015, 21:17:44 от pcom »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Количество просмотров товара VirtueMart Существует?

Автор grishin

Ответов: 38
Просмотров: 11573
Последний ответ 22.08.2020, 08:44:29
от rsn
Не выводит списком Настраиваемое поле в VirtueMart 5.0

Автор ЛюдмилаМир

Ответов: 2
Просмотров: 3069
Последний ответ 25.08.2019, 16:27:04
от ЛюдмилаМир
Joomla VirtueMart помощь в переводе

Автор akkord31

Ответов: 0
Просмотров: 2933
Последний ответ 21.05.2019, 09:14:02
от akkord31
Миграция с Joomla 1.5 на 3 с VirtueMart 1.1.9 stable на свежую. Кто поможет?

Автор Гриша-Десантник

Ответов: 7
Просмотров: 3162
Последний ответ 23.04.2019, 10:22:25
от draff
Переход на https VirtueMart 1.1.4 проблемы с фото

Автор Sergey1984

Ответов: 4
Просмотров: 3294
Последний ответ 25.10.2018, 20:56:54
от Sergey1984