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

fireman

  • Захожу иногда
  • 338
  • 10 / 0
  • в цель...
Здравствуйте. Модулем BT Content Slider  выводятся превью материалов определенной категории. С показом даты публикации. Месяц в дате показывается на английском языке. Нашел несколько решений в т.ч. и на форуме, пытаюсь реализовать... и либо получается русифицировать только сегодняшнюю дату, либо все рушится (наверное из-за ошибок в синтаксисе PHP).
Итак, есть файл переопределенного вывода данного модуля, дата в нем выводится вот так:
Код
<?php if( $showDate ): ?>
<span class="bt-date eranews"><i class="fa fa-calendar"></i><?php echo JText::sprintf(date('d-M-Y', strtotime($row->date))); ?>
</span>
<?php endif; ?>

Подскажите, как реализовать русскоязычное написание месяца?
*

fireman

  • Захожу иногда
  • 338
  • 10 / 0
  • в цель...
Товарищи, прошу помощи!
Как в данный код внедрить русскоязычное написание месяцы?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Код
JHtml::date($row->date, JText::_('DATE_FORMAT_LC3'));

Второй вариант вывода месяца:
Код
echo JText::_('MON'.date('m'));
при этом надо будет определить в админке языковые переменные для MON00..MON12 - этот способ полезен, если названия месяцев нужны в склонениях или падежах, отличных от именительного.

Ну и третий (не жумла) варинат - определить массив с названиями месяцев и индексами, соотв. номеру месяца, а потом просто выбирать из него.
« Последнее редактирование: 12.09.2019, 11:42:58 от sivers »
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

fireman

  • Захожу иногда
  • 338
  • 10 / 0
  • в цель...
Спасибо большое. Первый вариант выводит дату с русскоязычным написанием месяца, но в родительном падеже. Чтобы месяц не склонялся нужно вот этот код:

Код
echo JText::_('MON'.date('m'));

совместить с первым вариантом:

Код
JHtml::date($row->date, JText::_('DATE_FORMAT_LC3'));

?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
JText::_('DATE_FORMAT_LC3')
Посмотрите, что скрывается под этой языковой переменной:
Код
echo JText::_('DATE_FORMAT_LC3');
Загляните в языковые файлы - там есть еще несколько (около 4-х).
Вместо них можно указывать строки в формате php-функции date(). Падеж (если сразу везде) можно поменять переопределением констант в админке. Поищите их там (или в файле).
« Последнее редактирование: 12.09.2019, 13:14:46 от sivers »
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

fireman

  • Захожу иногда
  • 338
  • 10 / 0
  • в цель...
Все понятно. Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор jimka

Ответов: 2
Просмотров: 732
Последний ответ 18.04.2025, 15:39:36
от fbr
[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 1001
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Не отображается слайдер на телефоне / Smart Slider

Автор AlexandraPushkina

Ответов: 2
Просмотров: 978
Последний ответ 20.06.2024, 08:40:20
от AlexandraPushkina
Фильтр по дополнительному полю - допилить JL Content Fields Filter

Автор antarey

Ответов: 20
Просмотров: 2189
Последний ответ 17.03.2024, 21:46:20
от Mitriy
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 2356
Последний ответ 06.10.2023, 14:02:24
от Mitriy