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

exsade161

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
 Доброго времени суток форумчане :D

 На днях столкнулся с проблемой через-чур долгой загрузкой страниц с материалами (все материалы на сайте содержат от 20 видео-роликов длиной по 20мин.Каждое видео спрятано в спойлере)
Страницы обычно открываются в пределах 5-20сек.  в зависимости от количества роликов. Статья с 10-ю видео открывается за несколько секунд, а вот статья со 100 роликами грузиться секунд 20. И хуже всего то что во время загрузки статьи со 20+ роликами, сайт невозможно прокручивать колесиком мыши, а также открывать спойлеры, бывает даже сам браузер зависает и невозможно переключатся по вкладкам.

  Очевидно что все эти проблемы связаны с огромным весом роликов, можно ли каким нибудь образом не загружать ролики при открытии? а если по конкретнее- что бы ролики загружались только при открытии спойлера с ними.

Сайт: animepower.ru
« Последнее редактирование: 29.08.2013, 10:05:22 от b2z »
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Возможно, но нужно программить. У вас вероятно много внешних запросов по каждому ролику. Можно сделать постзагрузку блоков видео аяксом. Для этого придётся переписать шаблон вывода новости или написать плагин.
*

exsade161

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Похоже что придётся попотеть. Ну что же ничего не поделаешь, сейчас разузнаю что-нибудь про этот AJAX и начну работать.
А возможно ли что есть такой спойлер, который загружает содержимое только при открытии?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Был на форуме плагин для картинок под спойлером. Сам не юзал, подозреваю, что там не AJAX а подмена src. Посмотрите мои посты, я про AJAX много писал на форуме.
*

exsade161

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Благодарю вас, буду искать.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
ТС нужно видео грузить, как следствие это могут быть айфреймы, скрипты, Flash и т.д. Тут нужно сперва вывести страницу без видео, а потом подгрузить её же, но только видео. Я бы сделал так:
В макете материала сперва проверил, есть ли видео, потом вырезал бы всё видео в отдельную переменную. Вывел страницу. Потом JS сделал бы запрос на этот же URL, но передал бы какой-нибудь произвольный параметр. В шаблоне статьи проверял бы на наличие этого параметра и выводил бы уже видео. Таким образом подгружал бы его в уже отрендеренную статью.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
RokBox
HightSlide! Кто больше? :)) Попандер тут не решит ничего.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
wfedin, правильно ли я понимаю, что по клику на изображение в попандере подгружается аяксом видео? Просто я не нашёл на странице примера, где бы видео само загружалось после загрузки страницы автоматом и в тело статьи. Если такое действительно есть и я просмотрел, приношу извинения за неуместный юмор. Покажите пожалуйста.
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Я не програмёр и не кодер, не знаю как оно там крутится но видео нет на странице, есть лишь ссылка или миниатюра и лишь по клику в поп-ап появляется само видео. В самом низу демо примеры с роликами.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
ТС нужно совсем другое. А грузить в попандер по клику можно любым аналогичным скриптом, в том числе и HightSlide. Плагин из ссылки b2z больше подходит по смыслу, но не имеет нужного функционала. Тут либо а) делать на его основе другой плагин, для видео, либо б) тот трудоёмкий пример, что я выше написал.
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
RokBox на странице
Video - YouTube
This demo will load a YouTube movie.

на странице это разве не то?
Кривизна рук не компенсирует прямизну извилин.
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Это вариант просто готовый, спойлер откроет в теле а рок-бокс в окне. И там и там просто ссылка на странице будет, различие лишь в способе вывода видео. В принципе можно так же JCE MediaBox использовать. Вариант дал, а ТС сам пусть решает…
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Пусть ТС решает, то это или нет. Это однозначно не решает поставленной им задачи но, безусловно, тоже вариант.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
RokBox на странице
Video - YouTube
This demo will load a YouTube movie.

на странице это разве не то?
Любой попандер выводится на странице. Тут два вопроса: 1. как это вызывается этот вывод; 2. куда на странице это выведется. ТС необходимо чтобы это выводилось в статью и само собой. AJAX вообще предложил я. Собственно решение с любым попандером наименее трудоёмкое, но немного меняет суть задачи.
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Я признаться сам прикрутил prettyPhoto видео с YouTube можно в альбом объединить и потом прямо в поп-апе листать стрелками.
*

exsade161

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
 Порылся в своём LVSpoiler и нашёл легкое решение, попросту сменил библиотеку с mootools на juery. Теперь любой материал стал грузиться за пару секунд. Но после смены библиотеки сами спойлеры сменили своё CSS строение, вероятно у меня попросту не настроен сss для juery, но тут я думаю уже и сам разберусь.
 Огромное спасибо за помощь и желание разобраться с этой "штукой", всем плюсану.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Передирект страницы панели управления

Автор aviyar

Ответов: 6
Просмотров: 1046
Последний ответ 09.04.2025, 11:53:35
от aviyar
Не встраивается видео с YouTube на сайт

Автор 62411

Ответов: 6
Просмотров: 1664
Последний ответ 02.08.2020, 09:07:22
от wishlight
Ошибка при сохранении страницы

Автор gaa001

Ответов: 3
Просмотров: 1671
Последний ответ 05.11.2019, 14:14:37
от gaa001
Последние посещенные страницы пользователем

Автор Fedor Vlasenko

Ответов: 18
Просмотров: 7892
Последний ответ 06.08.2019, 13:41:48
от pH43
Непонятные символы в конце каждой статьи после сохранении редактирования

Автор Анастасия Гвоздева

Ответов: 2
Просмотров: 1442
Последний ответ 19.03.2019, 15:01:41
от draff