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

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Плагин называется: One Page Checkout for VirtueMart [byPV]

Получилось только вывести саму рекапчу

Кто поможет разобраться буду признателен
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Ну а в плагинах ключи капчи вставили?
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Ну а в плагинах ключи капчи вставили?
В стандартном джумловском плагине ReCaPTCHA?
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
В стандартном джумловском плагине ReCaPTCHA?
да
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
ну если она выведена и стоят ключи то должно работать
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
ну если она выведена и стоят ключи то должно работать
Даже со сторонним плагином?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Даже со сторонним плагином?
данным плагином не пользовался
ипользую обычно компонент OPC от rupostel
там включаешь галку что капча нужна а ключи в родном плагине
если в вашем плагине нет полей для ключей рекапчи то принцип тот же
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
ипользую обычно компонент OPC от rupostel
Это платный плагин?

если в вашем плагине нет полей для ключей рекапчи то принцип тот же
Какой принцип? Через стандартную капчу?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
да платный
да через стандартную если в вашем плагине нет такой настройки
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
да через стандартную если в вашем плагине нет такой настройки
А как вы саму рекапчу ставите на сайт?Например я прописал <div class="g-recaptcha" data-sitekey="СЮДА ВСТАВИЛ КЛЮЧ"></div>
А также прописал следующее <script src="https://www.google.com/recaptcha/api.js" async defer></script>
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
А как вы саму рекапчу ставите на сайт?Например я прописал <div class="g-recaptcha" data-sitekey="СЮДА ВСТАВИЛ КЛЮЧ"></div>
А также прописал следующее <script src="https://www.google.com/recaptcha/api.js" async defer></script>
вручную не приходилось
обычно все необходимые компоненты уже содержат макет вывода
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
вручную не приходилось
обычно все необходимые компоненты уже содержат макет вывода
То есть просто в админке прописываете ключи?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
То есть просто в админке прописываете ключи?
на примере моего компонента смотрите
http://joxi.ru/8AnE17Pt7yaGl2
тут просто ставлю для кого показывать капчу
в плагинах
http://joxi.ru/DmB8KMoUz4OYkA
и по факту в корзине имеем
http://joxi.ru/12Mzy3aU0kYo0A
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
и по факту в корзине имеем
Понятно, спасибо. Увы в используемом мной бесплатном плагине, рекапча не включена
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Найдите в плагине метод confirmedOrder, и в нем пропишите проверку на рекапча
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Всем доброго Дня !
Давайте подключим Вам капчу!
Для этого опишите в этой теме - Ваш вопрос !
В моей личке вы можете найти скайп для общения со мной !
Я уже давно его не обновлял и что бы у вас ни чего не слетало сделаем для  вас в индивидуальном порядке !
- А там может и обновим его с поддержкой рекапчи !
Всем Удачи !
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Найдите в плагине метод confirmedOrder, и в нем пропишите проверку на рекапча
Нашел строку с вызовом класса
Код
$cart->confirmedOrder();
, но само описание класса не нашел
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
Всем доброго Дня !
Давайте подключим Вам капчу!
Для этого опишите в этой теме - Ваш вопрос !
В моей личке вы можете найти скайп для общения со мной !
Я уже давно его не обновлял и что бы у вас ни чего не слетало сделаем для  вас в индивидуальном порядке !
- А там может и обновим его с поддержкой рекапчи !
Всем Удачи !
Спасибо за участие. Написал
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Нашел строку с вызовом класса
Код

$cart->confirmedOrder();

, но само описание класса не нашел
Это метод класса корзины из хелпер Вирт, а не класс  . А данные с формы туда приходят, тогда оберните вызов метода в условие проверки рекапча.
*

Igoritaly

  • Давно я тут
  • 659
  • 2 / 0
оберните вызов метода в условие проверки рекапча.
Подскажите как это сделать? Должно быть, что-то типа того:
Код
if(grecaptcha) {
$cart->confirmedOrder();
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться