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

DamianTrash

  • Захожу иногда
  • 169
  • 4 / 0
Добрый день. Всё пробую, пробую, но никак не получается. Мне нужно в форму "Задайте вопрос по этому товару" вставить поле с телефоном. Что-то весь интернет перелазил, но нашёл только как это сделать в VirtueMart 1/ А для VirtueMart 2 ничего нет. Если кто с этим уже сталкивался, подскажите пожалуйста  ::)
*

DamianTrash

  • Захожу иногда
  • 169
  • 4 / 0
Неужели никто не пользуется этим функционалом. Он же весьма удобен, но явно не доработан.
*

Ilya Kochnev

  • Новичок
  • 9
  • 0 / 0
Здесь копайся:
components/com_virtuemart/views/askquestion/tmpl/

Телефон мне не надо было, а вот артикул, чтобы быстрее отвечать на вопросы прикручивал в mail_html_question.php.
*

DamianTrash

  • Захожу иногда
  • 169
  • 4 / 0
Добавить поля можно в файле components/com_virtuemart/views/askquestion/tmpl/form.php, но где обрабатывается эта форма не понятно. Поля-то добавляются, а вот на почту они не приходят
*

serjik

  • Захожу иногда
  • 344
  • 1 / 1
DamianTrash и как с полем для телефона удалось решить? я дня три пытаюсь решить эту задачу, но получаеться только нерабочее поле с телефоном и все
*

DamianTrash

  • Захожу иногда
  • 169
  • 4 / 0
Не. Решил вообще эту VirtueMart не использовать. JoomShopping намного лучше.
*

icom

  • Давно я тут
  • 830
  • 202 / 4
DamianTrash и как с полем для телефона удалось решить? я дня три пытаюсь решить эту задачу, но получаеться только нерабочее поле с телефоном и все
в функции mailAskquestion (components\com_virtuemart\controllers\productdetails.php) после
Код
$vars['vendor'] = array('vendor_store_name' => $fromName);
добавить
Код
$vars['tel'] = JRequest::getVar ('tel');
где tel - имя вашего поля с телефоном в шаблоне
после этого в файле
components\com_virtuemart\views\askquestion\tmpl\mail_html_question.php добавить в любое место
Код
<?php echo $this->tel; ?>
работоспособность не проверял
*

serjik

  • Захожу иногда
  • 344
  • 1 / 1
icom Большое спасибо за подсказку, все заработало!  Единственное что нужно еще было исправить form.php продублировав в нем строку с вводом имени файла и заменив в ней значения name на tel /
:)
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
Спасибо заработало ))) *DRINK*
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
Всем привет кто знает как поле textarea и эмаил сделать не обязательным в форме задать вопрос об этом товаре?
*

Eholov

  • Захожу иногда
  • 170
  • 14 / 0
Подробно описывается тут : http://jdevelop.info/articles/joomla-extensions/522-virtuemart-3-dopolnitelnoe-pole-v-formu-zadat-vopros
Чтоб при вводе неправильной CAPTCHA значение в новом поле сохранялось, нужно в файле components/com_virtuemart/controllers/productdetails.php в районе 118 строки в код
Код
$askquestionform = array('name' => vRequest::getVar ('name'),....
добавить
Код
'phone' => vRequest::getVar ('phone'),
*

ivafana

  • Новичок
  • 9
  • 0 / 0
Добрый день.
Можно ли сделать форму "задать вопрос по товару" в VirtueMart адаптивной - т.е. при смене разрешения экрана форма тоже меняется.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При регистрации в VirtueMart поле Password перестало быть обязательным

Автор Slava77

Ответов: 10
Просмотров: 2759
Последний ответ 31.05.2021, 15:23:32
от Slava77
Как добавить радиокнопку или чекбокс в корзину и в уведомление?

Автор eu4ria

Ответов: 4
Просмотров: 3502
Последний ответ 09.02.2021, 18:18:10
от eu4ria
Как добавить кнопку Убрать товар из модуля корзины VirtueMart

Автор Gandriyko

Ответов: 0
Просмотров: 1507
Последний ответ 27.09.2017, 16:56:17
от Gandriyko
Как сделать необязательным поле e-mail?

Автор One

Ответов: 28
Просмотров: 3982
Последний ответ 13.06.2017, 22:38:28
от One
Форма вместо корзины на кнопке "добавить в корзину"

Автор Jud

Ответов: 5
Просмотров: 1719
Последний ответ 06.04.2016, 21:50:23
от gartes