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

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Всем привет!
В какой-то момент, у меня перестали работать переходы по меню сайта. Возвращает ошибку Helix 3 Framework - 0 Division by zero.
Никаких глобальных изменений на сайте, вроде бы, не делал. Планирую обновить до последней четвертой Joomla.
Вопрос в том, что сделать сначала? Найти и исправить ошибку, или понадеяться, что она уйдет после обновлений движка и шаблона, с повышением на хостинге версий РНР и MySQL?
Спойлер
[свернуть]
« Последнее редактирование: 06.02.2024, 12:46:31 от AlexP750 »
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Цитировать
Никаких глобальных изменений на сайте, вроде бы, не делал.

А какие не глобальные? Ошибка говорит о делении на 0.
Веб-разработка: заказ. Только новая разработка.
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
А какие не глобальные?
Изредка добавлял материалы, обновлял движок и расширения. Предварительно бэкапил, перед каждым обновлением. Пункты меню - блог категории.

UP: сами материалы, находящиеся внутри категории, на блог которой ведет пункт меню, доступны из модулей "Популярные материалы" и "Последние материалы".
При этом, работает только один пункт меню, остальные дают ошибку, описанную выше. Проверял в админке - все везде одинаково для этих пунктов. В чем проблема, так и не понял.  *ОХ-Х-Х*
« Последнее редактирование: 05.02.2024, 23:11:43 от AlexP750 »
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
А если отображение ошибок на максимум, адрес ошибки пишет?
Веб-разработка: заказ. Только новая разработка.
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
А если отображение ошибок на максимум, адрес ошибки пишет?
Сорри, а как это узнать? Как включить это отображение?

UP: Нашел, выставил на Максимум. На сайте ничего не изменилось, все то же деление на ноль: 0 Division by zero

https://av-notes.ru/ Работает только меню Winserver и Еда
« Последнее редактирование: 05.02.2024, 22:27:08 от AlexP750 »
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Дебаг ещё включить надо
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Дебаг ещё включить надо
Спасибо, включил, получил таблицу:
Спойлер
[свернуть]
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
blog.php что на 86 строке
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Содержимое строки 86:
Код
<div class="col-lg-<?php echo round(12 / $this->params->get('num_columns')); ?>">
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
<?php if(!empty($this->params->get('num_columns')): ?>
    <div class="col-lg-<?php echo round(12 / $this->params->get('num_columns')); ?>">
<?php else: ?>
    <div>
<?php endif; ?>

Или в параметрах пункта меню укажите num_columns.
Веб-разработка: заказ. Только новая разработка.
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Или в параметрах пункта меню укажите num_columns
Можно чуть подробнее? Где именно?
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Можно чуть подробнее? Где именно?
https://c2n.me/4kgMNNt
это на голой Joomla3 на Протостаре. У вас там какой-то шаблон, как он выводит, хз. Ищите.
Веб-разработка: заказ. Только новая разработка.
*

AlexP750

  • Захожу иногда
  • 189
  • 1 / 0
Действительно, стоял ноль. Поставил единицу - все заработало. Спасибо!  *DRINK*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 659
Последний ответ 21.05.2025, 12:44:06
от jeans
Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 587
Последний ответ 26.03.2025, 19:26:30
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1053
Последний ответ 24.03.2025, 20:03:01
от R31rus
[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 1001
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Множество несуществующих ссылок при обходе сайта роботом Яндекс

Автор goga_pgasovav

Ответов: 7
Просмотров: 1203
Последний ответ 10.12.2024, 18:44:25
от goga_pgasovav