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

LeoShe

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Доброго времени суток.
Возникла проблема с порядком выводимых товаров в списке. Товары выводятся через модуль "VirtueMart Товары" в материале (статье) при помощи {loadposition position_name}. Т.е: есть категория товаров, она выводится в каком-то конкретном месте и важен порядок расположения товаров в списке. Пробовал менять параметры самого модуля, но ничего не помогает (надо сказать, что отображаются они только при выборе "Рекомендуемых товаров"). Сортировал товары в админке, но на список на странице сайта он не влияет.
Как быть?

Joomla 2.5, VM 2.0.22c

 !
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Порядок вывода товаров в модуле
« Ответ #1 : 01.10.2013, 01:19:50 »
конструкция плагина loadmodule не позволяет вызывать модуль с параметрами. Только заголовок и стиль вывода.
Можете создать альтернативный макет вывода материала, товара и т.д. А модуль вызывать кодом передавая параметры
Код: php-brief
$params = array('test'=>5, 'vid'=>2);//здесь задаем параметры
$module = JModuleHelper::getModule('mod_name', 'Заголовок модуля если их несколько иначе убрать');
$module->params = json_encode(array_merge(json_decode($module->params, true), $params));
echo JModuleHelper::renderModule($module);
*

LeoShe

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Порядок вывода товаров в модуле
« Ответ #2 : 02.10.2013, 11:10:01 »
Можете создать альтернативный макет вывода материала, товара и т.д. А модуль вызывать кодом передавая параметры
Код: php-brief
$params = array('test'=>5, 'vid'=>2);//здесь задаем параметры
$module = JModuleHelper::getModule('mod_name', 'Заголовок модуля если их несколько иначе убрать');
$module->params = json_encode(array_merge(json_decode($module->params, true), $params));
echo JModuleHelper::renderModule($module);
Что-то я не очень понял. Если не сложно, можно более детально?
*

LeoShe

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Порядок вывода товаров в модуле
« Ответ #3 : 09.10.2013, 00:54:22 »
Ни у кого нету идей по устранению? Мало мальских...
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Re: Порядок вывода товаров в модуле
« Ответ #4 : 12.10.2013, 14:07:00 »
Какие у вас затруднения с данным вам советом?
*

LeoShe

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Порядок вывода товаров в модуле
« Ответ #5 : 14.10.2013, 13:33:34 »
Какие у вас затруднения с данным вам советом?
Как создается макет альтернативного вывода материала, товара?
*

LeoShe

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Порядок вывода товаров в модуле
« Ответ #7 : 25.10.2013, 12:32:07 »
Проблема решена!
При выборе в настройках модуля "выводить новый товар", порядок сохраняется, как в админке. Но возникла другая проблема: товар пропадал через 7 дней (менял статус на "неновый").
Решил программно.
Открываем administrator/components/com_virtuemart/models/product.php
Находим там
Код
case 'latest':
$date = JFactory::getDate (time () - (60 * 60 * 24 * $latest_products_days));
$dateSql = $date->toMySQL ();
$where[] = 'p.`' . $latest_products_orderBy . '` > "' . $dateSql . '" ';
$orderBy = 'ORDER BY p.`' . $latest_products_orderBy . '`';
$this->filter_order_Dir = 'DESC';
break;
В строчке (у меня она 439)
Код
$date = JFactory::getDate (time () - (60 * 60 * 24 * $latest_products_days));
60-сек, 60-мин, 24-час, ...
Увеличиваем на сколько надо.
Удачи. ;)
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Re: Порядок вывода товаров в модуле
« Ответ #8 : 25.10.2013, 12:45:10 »
Проблема решена!
При выборе в настройках модуля "выводить новый товар", порядок сохраняется, как в админке. Но возникла другая проблема: товар пропадал через 7 дней (менял статус на "неновый").
Решил программно.
Открываем administrator/components/com_virtuemart/models/product.php
Находим там
Код
case 'latest':
$date = JFactory::getDate (time () - (60 * 60 * 24 * $latest_products_days));
$dateSql = $date->toMySQL ();
$where[] = 'p.`' . $latest_products_orderBy . '` > "' . $dateSql . '" ';
$orderBy = 'ORDER BY p.`' . $latest_products_orderBy . '`';
$this->filter_order_Dir = 'DESC';
break;
В строчке (у меня она 439)
Код
$date = JFactory::getDate (time () - (60 * 60 * 24 * $latest_products_days));
60-сек, 60-мин, 24-час, ...
Увеличиваем на сколько надо.
Удачи. ;)
в админке ВМ последних версий, можно изменить количество дней отображаемых новых товаров.Зачем хакать.Обновите вм и все слетает.
Configuration - Shopfront - Latest Products - Number of days to display
*

LeoShe

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Порядок вывода товаров в модуле
« Ответ #9 : 25.10.2013, 13:22:42 »
в админке ВМ последних версий, можно изменить количество дней отображаемых новых товаров.Зачем хакать.Обновите вм и все слетает.
Configuration - Shopfront - Latest Products - Number of days to display
Мы не ищем легких путей ;)
*

iGatto

  • Новичок
  • 5
  • 0 / 0
Re: Порядок вывода товаров в модуле
« Ответ #10 : 14.12.2013, 12:22:36 »
Проблема решена!
При выборе в настройках модуля "выводить новый товар", порядок сохраняется, как в админке. Но возникла другая проблема: товар пропадал через 7 дней (менял статус на "неновый").
Решил программно.
Открываем administrator/components/com_virtuemart/models/product.php
Находим там
Код
case 'latest':
$date = JFactory::getDate (time () - (60 * 60 * 24 * $latest_products_days));
$dateSql = $date->toMySQL ();
$where[] = 'p.`' . $latest_products_orderBy . '` > "' . $dateSql . '" ';
$orderBy = 'ORDER BY p.`' . $latest_products_orderBy . '`';
$this->filter_order_Dir = 'DESC';
break;
В строчке (у меня она 439)
Код
$date = JFactory::getDate (time () - (60 * 60 * 24 * $latest_products_days));
60-сек, 60-мин, 24-час, ...
Увеличиваем на сколько надо.
Удачи. ;)

Вы не в курсе, в VM 1.1.9 где искать файл product.php ? так как по адресу administrator/components/com_virtuemart/models/ папка models отсутствует :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Удалить псевдонимы товаров

Автор AHTEPO

Ответов: 9
Просмотров: 4226
Последний ответ 26.10.2020, 01:33:20
от gartes
Вывод товаров из под категории

Автор gm35

Ответов: 1
Просмотров: 902
Последний ответ 28.04.2020, 04:13:14
от gm35
[Решено] Вывод других товаров тойже категории в карточке товара

Автор x-render

Ответов: 30
Просмотров: 8810
Последний ответ 06.01.2020, 07:39:31
от Igoritaly
Табличный редактор товаров (аля Excel)

Автор KoHb

Ответов: 8
Просмотров: 3922
Последний ответ 26.03.2019, 11:58:33
от KoHb
Рейтинг товаров и сортировка по нему

Автор Tetzlaff

Ответов: 1
Просмотров: 1171
Последний ответ 13.09.2018, 23:21:46
от bgg87