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

vaf

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Добрый день. Существует ли какой то хак, позволяющий выводить комментарии в произвольном месте стандартного материала Joomla, т.е. именно там, где я поставил тег {jcomments on}, а не в самом низу как это сделано по умолчанию.

Хотелось бы вывести отзывы в отдельном табе в материале, но тег {jcomments on} выводит все комментарии в самом низу.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
1.Устанавливаете адвансед модуль, если такового нету, для вставок php
https://extensions.joomla.org/extension/custom-html-advanced/
2. Добавляете модуль вставкой (в ядре это есть) в любое место материала.
3. До этого в окне модуля php ставите ваш код вызова комментариев. В зависимости от нужного результата, добавляете свой php-код в модуль:
http://www.joomlatune.ru/jcomments-developers-manual.html
4. Отключаете (вырезаете) показ комментариев внизу.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

vaf

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
1.Устанавливаете адвансед модуль, если такового нету, для вставок php
https://extensions.joomla.org/extension/custom-html-advanced/
2. Добавляете модуль вставкой (в ядре это есть) в любое место материала.
3. До этого в окне модуля php ставите ваш код вызова комментариев. В зависимости от нужного результата, добавляете свой php-код в модуль:
http://www.joomlatune.ru/jcomments-developers-manual.html
4. Отключаете (вырезаете) показ комментариев внизу.

Спасибо - попробовал, реально помогло, теперь все красиво. А ведь излазил пол интернета и ничего не нашел. Все ссылаются на какой то мифический плагин, который уже сто лет устарел или кусок кода, который не работает. А этот метод помог с первого раза.
Кстати пункт 4 оказался необязателен, при размещении когда, комментарии внизу уже не показываются даже с размещенным тегом {jcomments on}
P.S Пункт 2 мне не понадобился, я для вставки PHP и Java, я пользуюсь плагином Sourcerer, бесплатной версии вполне хватает.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Ну п.4 я расписал, т.к. не знал конечной цели (а вдруг у вас посл камент или просто счётчик) и т.п и вы захотите и там и там, например, или там по своему, в материале по своему и т.п.
А про модуль-кому как удобнее, мне удобнее 2 в 1: и код html+css и php
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться