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

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Добрый день!

Столкнулся с такой проблемой - при редактировании типа пункта меню наблюдаю такую картину: белый экран, слово "Error" на экране, в консоли 500 ошибка.



Также данная ошибка вылетает при обновлении расширений в Менеджере расширений + периодически при различных сохранениях в админке.

Как лечить?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
В файле: ExceptionHandler.php (JPATH_ROOT/libraries/srcException), после 147 строки добавьте
Код: php
echo '<pre>'; print_R($e); exit;
и включите отладку. Так же включите вывод PHP ошибок для разработчика
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Вот что получается:

Спойлер
[свернуть]
*

NewUsers

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

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Цитировать
Сайт обновлялся с какой версии ?

Обновление происходило постепенно, с выходом каждой новой версии.
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Цитировать
Так сходу не скажу в чем ошибка, т. к. с таким не сталкивался...

Что-то с сессиями. Похожая проблема была во фронтальной части. При заходе на сайт периодически возникала вот такая ошибка: Error: Failed to start application: Error starting the session

Вместе с хостером долго пытались ее победить. Получилось. Вот их крайний ответ.

Спойлер
[свернуть]

Больше во фронте данной ошибки я не наблюдал. С админкой пока беда!
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Базу данных Исправить пробовали в админке Joomla ?
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Цитировать
Базу данных Исправить пробовали в админке Joomla ?

Вы имеете ввиду Расширения -> Менеджер расширений -> База данных?

У меня здесь предупреждение: Внимание: База данных устарела!

Основные таблицы базы данных Joomla! еще не были преобразованы в UTF-8 Multibyte (utf8mb4).
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Так нажмите исправить
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
У меня здесь предупреждение: Внимание: База данных устарела!

Основные таблицы базы данных Joomla! еще не были преобразованы в UTF-8 Multibyte (utf8mb4).
Кривое обновление. Было раз, решение не нашел, обновлял клиента Joomla, не помню с какой версии,  по новой .
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Цитировать
Так нажмите исправить

Если нажать "Исправить", то в БД восстановится куча ненужных таблиц, которые были удалены.

Может вручную исправить таблицы?

*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Почему? Ненужных
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Цитировать
Почему? Ненужных

Я удалил ненужные мне расширения (com_finder, com_contact, com_newsfeeds и т.д.) и связанные с ними таблицы в БД. Если нажать кнопку "Исправить", эти таблицы восстановятся.
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Так проще потом удалить
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Код
Кривое обновление. Было раз, решение не нашел, обновлял клиента Joomla, не помню с какой версии,  по новой .

draff, я правильно понимаю, что вот это предупреждение про БД - это всего лишь следствие кривого обновления? Если исправить кодировку таблиц, основная проблема с 500 ошибкой не решится?

И еще такой вопрос: какие проблемы могут ожидать, если  вручную исправить кодировку с utf8_general_ci и utf8_unicode_ci на utf8mb4_unicode_ci?
*

fbr

  • Завсегдатай
  • 1663
  • 206 / 7
Все вспоминал, когда я встречал такую ошибку...
Вспомнил. Вернее поймал. Когда запускал сайт на локалке, а ОпенСервер еще не перезагрузился
Вот, сегодня https://prnt.sc/uk52f3
В чем причина - не анализировал.
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
fbr, не анализировали причины появления этой ошибки?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 1276
Последний ответ 06.04.2025, 09:27:20
от wishlight
Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

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

Автор jimka

Ответов: 7
Просмотров: 1053
Последний ответ 24.03.2025, 20:03:01
от R31rus
Проблема с меню

Автор denis_4

Ответов: 6
Просмотров: 1150
Последний ответ 07.08.2024, 14:00:43
от denis_4
Непонятная проблема с меню

Автор THE KILLERS

Ответов: 2
Просмотров: 6887
Последний ответ 25.07.2024, 16:07:39
от THE KILLERS