Новости 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 Ответов
  • 871 Просмотров
*

Марина-6

  • Новичок
  • 7
  • 0 / 0
Доброго времени суток!
При добавлении большего (нового) материала на сайт главной страницы, страница увеличивается. Получается, очень длинная страница- "пласт". Как сделать переход на 2-3-4 и т.д страницы?
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
только кодом пагинацию писать
вопрос-зачем длинную на главной
поставьте в нужном месте разделитель подробнее
индивидуальная помощь: @SetAlexx
*

Марина-6

  • Новичок
  • 7
  • 0 / 0
спасибо за ответ, а как кодом писать пагинацию?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
спасибо за ответ, а как кодом писать пагинацию?
Сперва определить параметры:
total - общее кол-во элементов со всех страниц
start - элемент с которого начинается текущая страница (если на странице 20 элементов, то 3-я будет начинаться с 40-го)
limit - кол-во элементов на 1 странице

далее:
Код
$pagination = new JPagination($total, $start, $limit);
   

А в  макете:

Код
echo $pagination->getPagesLinks();
echo $pagination->getPagesCounter();

В 4-ке первую строку можно заменить на:
Код
$pagination = new \Joomla\CMS\Pagination\Pagination($total, $start, $limit);
или использовать use

Подробно обо всех методах класса тут:
/libraries/src/Pagination/Pagination.php
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 3819
Последний ответ 05.06.2025, 04:48:29
от andrey222
Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 639
Последний ответ 22.11.2024, 07:14:15
от stepan39
Переход с http на https

Автор Andrey67

Ответов: 3
Просмотров: 889
Последний ответ 10.09.2024, 17:01:58
от Andrey67
Перенести описание категории вниз страницы

Автор jimka

Ответов: 1
Просмотров: 942
Последний ответ 18.07.2024, 08:02:46
от Vastriet
Как сделать картинку ссылкой на материал без Вводного изображения?

Автор OZlaim

Ответов: 0
Просмотров: 809
Последний ответ 30.05.2024, 01:28:37
от OZlaim