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

IgorGeneralov

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Добрый день.

Подскажите, как получить и вывести списком статусы заказов? Нужно для фильтрации заказов по их статусу.

Должно получится вот так в итоге:

Код
<li uk-filter-control=".Заказ принят"><a href="#">Заказ принят</a></li>
<li uk-filter-control=".Подтверждено"><a href="#">Подтверждено</a></li>
<li uk-filter-control=".Отменено"><a href="#">Отменено</a></li>
<li uk-filter-control=".Возврат"><a href="#">Возврат</a></li>
<li uk-filter-control=".Отправлено"><a href="#">Отправлено</a></li>
<li uk-filter-control=".Оплачено"><a href="#">Оплачено</a></li>
<li uk-filter-control=".Завершено"><a href="#">Завершено</a></li>

Поискал в основных файлах магазина, попробовал вот так (НЕ получилось):

Код
<?php foreach ($this->order_status as $order_status) {?>
<li uk-filter-control=".<?php print $this->order_status?>">
     <a href="#"><?php print $this->order_status?></a>
</li>
<?php } ?>
« Последнее редактирование: 11.12.2022, 23:04:51 от IgorGeneralov »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
На какой странице это надо вывести?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

kit2m2

  • Живу я здесь
  • 3346
  • 273 / 0
  • Беру сайты на полное сопровождение
Подскажите, как получить
Запросом в базу данных:
Код
$db = JFactory::getDbo();
$lang = JSFactory::getLang();

$query = "SELECT `".$lang->get('name')."` AS name, `status_id` FROM `#__jshopping_order_status` ORDER BY status_id";

$db->setQuery($query);
$statusorders = $db->loadObjectlist();

Получите: Название статуса и его ID
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3346
  • 273 / 0
  • Беру сайты на полное сопровождение
Да и еще, это код неправильный:
Код
<li uk-filter-control=".Заказ принят"><a href="#">Заказ принят</a></li>
<li uk-filter-control=".Подтверждено"><a href="#">Подтверждено</a></li>
<li uk-filter-control=".Отменено"><a href="#">Отменено</a></li>
<li uk-filter-control=".Возврат"><a href="#">Возврат</a></li>
<li uk-filter-control=".Отправлено"><a href="#">Отправлено</a></li>
<li uk-filter-control=".Оплачено"><a href="#">Оплачено</a></li>
<li uk-filter-control=".Завершено"><a href="#">Завершено</a></li>

Не пишут CSS-классы на русском языке!

Читайте документацию:
 - https://3uikit.ru/filter
- http://htmlbook.ru/samcss/klassy
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

IgorGeneralov

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
На какой странице это надо вывести?
На странице списка заказов клиента - для сортировки.
Переписал эту страницу под YOOtheme. Сортировки не хватает.

*

IgorGeneralov

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Запросом в базу данных:
Код
$db = JFactory::getDbo();
$lang = JSFactory::getLang();

$query = "SELECT `".$lang->get('name')."` AS name, `status_id` FROM `#__jshopping_order_status` ORDER BY status_id";

$db->setQuery($query);
$statusorders = $db->loadObjectlist();

Получите: Название статуса и его ID

Спасибо )))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести описание атрибута

Автор Napst3r

Ответов: 2
Просмотров: 1026
Последний ответ 31.07.2024, 12:24:00
от Napst3r
Вывести определённую характеристику отдельно от списка характеристик товара

Автор Silent_Breeze

Ответов: 52
Просмотров: 12117
Последний ответ 23.11.2023, 12:31:08
от YuryNew
Вывести в списке товаров атрибуты

Автор Taatshi

Ответов: 41
Просмотров: 10179
Последний ответ 17.02.2020, 17:12:16
от resens
Как вывести свойства товаров в категории? код ниже?

Автор imanagerseo0

Ответов: 0
Просмотров: 681
Последний ответ 25.12.2019, 09:04:38
от imanagerseo0
Как вывести картинку кнопки выбранного атрибута в корзине?

Автор apofisgold

Ответов: 38
Просмотров: 2047
Последний ответ 16.12.2018, 13:14:04
от lexxbry