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

NadiaNadezhdina

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Добрый день!
Подскажите, пожалуйста, у меня на сайте 3 языка, русский, английский и испанский. все работает четко, но почему то в модуле переключения языков отображается только русский и англ флаги, а испанского нет.. Хотя в настройках языка контента выбран код языка и код картинки с флагом Испании. Где искать причину?
Спасибо!
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

NadiaNadezhdina

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
В модуле только 2 языка. Меню для всех языков настроено?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

NadiaNadezhdina

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Да, и отображается на всех языках, вот испанский https://www.ironfan.es/es
В настройках сайта в языках контента все три языка есть, но вот флаг исп почему то не отображается
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Да, и отображается на всех языках, вот испанский https://www.ironfan.es/es
В настройках сайта в языках контента все три языка есть, но вот флаг исп почему то не отображается
Не знаю почему. Как вариант - переопределить макет модуля и добавить испанский вручную в массив языков.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

NadiaNadezhdina

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Не знаю почему. Как вариант - переопределить макет модуля и добавить испанский вручную в массив языков.

А как это добавить испанский вручную в массив?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
В модуле mod_languages есть массив языков. Называется он $list и состоит вот из таких элементов:
Код
    [0] => stdClass Object
        (
            [lang_id] => 1
            [asset_id] => 74
            [lang_code] => en-GB
            [title] => English (en-GB)
            [title_native] => English
            [sef] => en
            [image] => en_gb
            [description] =>
            [metakey] =>
            [metadesc] =>
            [sitename] =>
            [published] => 1
            [access] => 1
            [ordering] => 1
            [link] => /en/
            [flag] => <img src="/media/mod_languages/images/en_gb.gif" alt="" />
            [active] =>
            [rtl] => 0
        )

На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
В каждом модуле меню для языков должен присутствовать пункт меню типа "Главная страница".
В испанской версии у вас на сайте такой пункт меню отсутствует.
*

NadiaNadezhdina

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
В каждом модуле меню для языков должен присутствовать пункт меню типа "Главная страница".
В испанской версии у вас на сайте такой пункт меню отсутствует.


Спасибо большое! Да, в этом была ошибка, не было галочки "Главная страница" в пункте меню главное страницы на испанском. Теперь все работает! Благодарю!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отображается слайдер на телефоне / Smart Slider

Автор AlexandraPushkina

Ответов: 2
Просмотров: 977
Последний ответ 20.06.2024, 08:40:20
от AlexandraPushkina
Некорректно отображается номер и почта

Автор web_signal

Ответов: 4
Просмотров: 664
Последний ответ 16.08.2023, 11:48:06
от web_signal
Не отображается картинка в материале с другого хостинга

Автор Beer

Ответов: 3
Просмотров: 775
Последний ответ 16.09.2022, 21:18:01
от marksetter
Как вывести переключатель языков на мобильной версии сайта?

Автор Zell

Ответов: 6
Просмотров: 735
Последний ответ 14.07.2022, 23:20:34
от Zell
Не отображается капча при авторизации

Автор Scaltro

Ответов: 0
Просмотров: 571
Последний ответ 07.07.2022, 23:18:30
от Scaltro