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

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
Доброго времени суток!
Итак передо мной стоит задача (ничего не нашёл подобного), поэтому обращаюсь к вам.
Мне необходимо, чтобы модульная позиция при прокрутке страницы вниз доходила вверх до границы верхнего меню и там осталась. то есть фиксировалась.
Меню у меня настроено так.
Покопавшись в файлах, нашёл что меню при скроллинге подхватывает другой класс с приставкой sticky. Это задано в JS файле.
я понимаю что на подобии этого примера можно прописать и для этой модульной позиции такой же финт. однако я не владею навыками веб программирования и не знаю как правильно задать команду чтобы так получилось. поэтому прошу помощи.
прикрепляю кусочек файла JS мне нужно только переопределить класс для модульной позиции при скроллинге.
Код: javascript
if (_templateParams.enableDesktopMenuSticky) {
var header = document.id('header-bottom'),
headerPosition = header.getPosition(),
stickHeader = function() {
var windowScroll = window.getScroll();

if (windowScroll.y > headerPosition.y) {
header.addClass('menu-sticky');
} else {
header.removeClass('menu-sticky');
}
};

window.addEvent('scroll', stickHeader);
}

Да, кстати. модульная позиция, для которой переопределять класс left. css  я уже сам пропишу как мне надо. спасибо.
*

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
Что, нету умельцев? или просто никто не хочет отвечать?
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
с подменой стилей, чтобы зафиксировать меню - это вариант не особо, поскольку надо создавать дополнительный класс и не всегда срабатывает скрипт. Есть проще - установить скрипт, в котором прописано top: 0: и без подмены стилей (вариант 2)
*

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
с подменой стилей, чтобы зафиксировать меню - это вариант не особо, поскольку надо создавать дополнительный класс и не всегда срабатывает скрипт. Есть проще - установить скрипт, в котором прописано top: 0: и без подмены стилей (вариант 2)
Но меню у меня уже и так зафиксировано когда (scroll.y) и меня такой вид устраивает.
Но мне надо ещё чтобы и модуль, который стоит в позиции left при прокрутке (а лучше когда он доходит до края позиции header) фиксировался.
*

ingavr

  • Захожу иногда
  • 283
  • 0 / 0
вот. по подобию предидущего скрипта для меню попробовал сделать для своего модуля. но нифига не работает.
Давайте вместе разберём где мои ошибки!

Код: javascript
if (_templateParams.scrollTop) {
    var hello = document.id('cModule-HelloMe'),
    helloPosition = hello.getPosition(),
stickHello = function() {
    var windowScrollTop = window.getScrollTop();

if (windowScrollTop.y > helloPosition.y) {
   hello.addClass('myprofile-sticky');
} else {
   hello.removeClass('myprofile-sticky')
}
};
window.addEvent ('scroll', stickHello);
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как зафиксировать размер полей инпутбоксов?

Автор Yasen

Ответов: 19
Просмотров: 1217
Последний ответ 15.09.2022, 09:20:37
от marksetter
Пример создания модуля с прикреплением файлов

Автор Zelyonkin

Ответов: 7
Просмотров: 977
Последний ответ 02.08.2021, 17:04:15
от Zelyonkin
Отображение модуля меню на странице материала

Автор kunsaid

Ответов: 9
Просмотров: 1086
Последний ответ 21.07.2021, 10:50:29
от kunsaid
[Решено] CSS-класс заголовка модуля

Автор schel4ok

Ответов: 36
Просмотров: 18492
Последний ответ 06.04.2021, 23:35:20
от Wak
Кто знает как добавить позицию в Helix3 от joomshaper.com

Автор nick71

Ответов: 22
Просмотров: 7001
Последний ответ 29.03.2021, 14:32:32
от misteri27