Новости 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 Ответов
  • 4340 Просмотров
*

harddrop

  • Захожу иногда
  • 119
  • 1 / 0
  • Только идущий дойдет
Пытаюсь вывести модуль в материале несколькими вариантами.
Вариант первый:
1. Включила Контент - Загрузка модулей.
2. В материал вывожу {loadposition format} (визуальный редактор выключен, три раза проверяла)
В результате на страничке выводит : {loadposition format}

Вариант второй:
1. Скачала плагин Modules Anywhere
2. Проверила все лиопубликовано и включено
3 В материал вставляю {module Название модуля}
Вывод тот же "{module Название модуля}"

Вариант 3й
<?php
$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('modules');
$options = array('style' => 'xhtml');
$position = 'позиция';
echo $renderer->render($position, $options, null);
?>

Так и не сработало (
Есть идеи ? Может сразу из базы брать ?

Код
<?php
$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('module');
$options = array('style' => 'raw');
$dbo = JFactory::getDBO();
$dbo->setQuery("SELECT * FROM #__modules WHERE id='укажите ID' ");
$module = $dbo->loadObject();
$module->params = "heading=2\nlimit=10";
echo $renderer->render($module, $options);
?>
*

blik

  • Захожу иногда
  • 80
  • 13 / 0
А сам модуль Вы не забыли опубликовать?
Сейчас в Joomla 3 и в VM3 появилась кнопка https://yadi.sk/i/b5qFRexB3XxPYq "вставить модуль" добавляет без проблем любой модуль в описание товара, в описание категории.
*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
А сам модуль Вы не забыли опубликовать?
Сейчас в Joomla 3 и в VM3 появилась кнопка https://yadi.sk/i/b5qFRexB3XxPYq "вставить модуль" добавляет без проблем любой модуль в описание товара, в описание категории.
Там вроде бы 1,5
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

blik

  • Захожу иногда
  • 80
  • 13 / 0
В 1.5 и VM1 - лучше добавить модульную позицию на стр. и там выводить то, что хочется
*

harddrop

  • Захожу иногда
  • 119
  • 1 / 0
  • Только идущий дойдет
А сам модуль Вы не забыли опубликовать?
Сейчас в Joomla 3 и в VM3 появилась кнопка https://yadi.sk/i/b5qFRexB3XxPYq "вставить модуль" добавляет без проблем любой модуль в описание товара, в описание категории.

Мне нужно вставить модуль не в описание а в код...
*

blik

  • Захожу иногда
  • 80
  • 13 / 0
 добавить модульную позицию на стр. и там выводить то, что хочется. В шаблон карточки товара вставить модульную позицию.
« Последнее редактирование: 17.06.2018, 13:56:31 от blik »
*

harddrop

  • Захожу иногда
  • 119
  • 1 / 0
  • Только идущий дойдет
а в письмо как вставить модуль (Которое присылает VirtueMart отом что сделан заказ ?)
*

blik

  • Захожу иногда
  • 80
  • 13 / 0
попробуйте для этого использовать  Email Manager
*

harddrop

  • Захожу иногда
  • 119
  • 1 / 0
  • Только идущий дойдет
попробуйте для этого использовать  Email Manager

Заказчику нужно чтоб он могу менять эту информацию из модуля, может есть вариант как всунуть туда модуль до генерации письма ?

Цитировать
Email Manager

можно точное название или сайт разработчика ?
*

blik

  • Захожу иногда
  • 80
  • 13 / 0
VirtueMart Email Manager - компонент редактирования писем
*

harddrop

  • Захожу иногда
  • 119
  • 1 / 0
  • Только идущий дойдет
VirtueMart Email Manager - компонент редактирования писем

А без компонента вставить модуль возможно ?
*

Evgen Kulibin

  • Захожу иногда
  • 61
  • 0 / 0
<?php[/size]$document = &JFactory::getDocument();$renderer = $document->loadRenderer('modules');$options = array('style' => 'xhtml');$position = 'позиция';echo $renderer->render($position, $options, null);?>






Этот код помог вывести модуль в карточке товара! Лайк! *DRINK*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Расчёт стоимости товара в VirtueMart за периметр

Автор NIKOLY

Ответов: 0
Просмотров: 36
Последний ответ 04.07.2025, 09:18:31
от NIKOLY
VM 4 версии убрать кнопку и страницу подтверждения заказа?

Автор cntrl

Ответов: 1
Просмотров: 1506
Последний ответ 31.01.2024, 14:27:21
от cntrl
Как изменить страницу заказ подтвержден?

Автор Grigorii

Ответов: 0
Просмотров: 2505
Последний ответ 11.08.2023, 18:46:58
от Grigorii
VirtueMart 3 Отображать только товары в наличии!

Автор GaziroFFka

Ответов: 4
Просмотров: 3481
Последний ответ 06.06.2023, 13:55:13
от Akeksandr
SP VirtueMart Category Search

Автор ve1006

Ответов: 10
Просмотров: 7365
Последний ответ 18.01.2023, 10:39:10
от AzMandius