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

Osprey

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Суть проблемы: модуль "Материалы новости" Joomla 3 выводит заданное количество материалов из определенной категории или с определенной меткой. Как его научить не включать ссылку на ТЕКУЩИЙ материал, на странице которого он размещен? Т е проблема в дублировании.

За формирование списка материалов в модуле моего шаблона от Yootheme отвечает файл /html/mod_articles_news/vertical.php.

Код
<?php if (count($list) > 0) : ?>
<ul class="uk-grid-collapse uk-child-width-1-2@s" uk-grid uk-height-match="img">
    <?php for ($i = 0, $n = count($list); $i < $n; $i++) : ?>
    <?php $item = $list[$i] ?>
    <li class="uk-card uk-card-small uk-card-default uk-card-hover uk-card-body"><?php include ModuleHelper::getLayoutPath('mod_articles_news', '_item')?></li>
    <?php endfor ?>
</ul>
<?php endif ?>
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 118 / 9
Могу дать подсказку, дергать url  страницы, если есть совпадение id текущего материала и материала в модуле то тогда не выводить материал в модуле.
*

Osprey

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Могу дать подсказку, дергать url  страницы, если есть совпадение id текущего материала и материала в модуле то тогда не выводить материал в модуле.
Спасибо, но я в php не сильно могуч. Было бы здорово добавить конкретики.  ^-^
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Было бы здорово добавить конкретики.
Начните с себя- из  названия темы непонятна задача . Думаю вам нужен готовый код .
Код
defined('_JEXEC') or die; // Просто метка
$app  = JFactory::getApplication();
// Detecting Active Variables
$id_article   = (int) $app->input->getCmd('id', '');
?>
<?php if (count($list) > 0) : ?>
<ul class="uk-grid-collapse uk-child-width-1-2@s" uk-grid uk-height-match="img">
    <?php for ($i = 0, $n = count($list); $i < $n; $i++) :
if ($list[$i]->id == $id_article) continue?>
    <?php $item = $list[$i] ?>
    <li class="uk-card uk-card-small uk-card-default uk-card-hover uk-card-body"><?php include ModuleHelper::getLayoutPath('mod_articles_news', '_item')?></li>
    <?php endfor ?>
</ul>
<?php endif ?>
« Последнее редактирование: 13.03.2021, 10:54:40 от draff »
*

Osprey

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

Большое спасибо. Проверка работает. Как нужно назвать тему на ваш взгляд ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести модуль в модуле

Автор jimka

Ответов: 2
Просмотров: 732
Последний ответ 18.04.2025, 15:39:36
от fbr
Не могу разблокировать материалы, модули для редактирования

Автор Ecodrev

Ответов: 3
Просмотров: 670
Последний ответ 24.03.2025, 20:20:55
от R31rus
Как вставить видео с Telegram в материал?

Автор Ishti39

Ответов: 2
Просмотров: 1002
Последний ответ 18.06.2024, 10:41:30
от Olg
Как сделать картинку ссылкой на материал без Вводного изображения?

Автор OZlaim

Ответов: 0
Просмотров: 809
Последний ответ 30.05.2024, 01:28:37
от OZlaim
Как вставить модуль в код нужной страницы php?

Автор zvi

Ответов: 9
Просмотров: 4687
Последний ответ 21.02.2024, 11:03:08
от saynez