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

Арчик

  • Захожу иногда
  • 281
  • 32 / 0
Данный функционал подключает iframe - данный тег в качестве параметра высоты (height) может принять лишь px.
Закрыть вопрос этим методом не решается! Opera / Chrome / FF - joomla3.9
Может есть у кого решение ?
« Последнее редактирование: 16.09.2020, 01:50:36 от Арчик »
Компьютер-это вещь для решения проблем, которых у вас не было до его появления...
*

Арчик

  • Захожу иногда
  • 281
  • 32 / 0
попробуй такое
https://snipp.ru/jquery/auto-height-iframe
  Да подобное я тоже пытался прикрутить, но тщетно.
На чистом HTML все работает , в шаблонах  (стандартные bees3  прототип )  размер не меняет, час сижу не могу понять в чем дело ...
Разумеется делал все через  html/com_wrapper /wraper/default.php 
Компьютер-это вещь для решения проблем, которых у вас не было до его появления...
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
а подобное я тоже пытался прикрутить, но тщетно.
Если iframe подтягивает контент с другого домена, то описанный способ не сработает. У вас с вашего же тянет?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Арчик

  • Захожу иногда
  • 281
  • 32 / 0
Если iframe подтягивает контент с другого домена, то описанный способ не сработает. У вас с вашего же тянет?
Дык, а кто фреймы будет использовать на своем домене? Нет конечно!, iframe ссылается на левый домен.
Компьютер-это вещь для решения проблем, которых у вас не было до его появления...
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Дык, а кто фреймы будет использовать на своем домене? Нет конечно!, iframe ссылается на левый домен.
Чего только людям в голову не приходит )) Особенно заказчикам.
А в вашем случае и не будет работать - к контенту iframe, загруженному с левого домена, JS доступа не имеет по соображениям безопасности браузероделов.
Иногда используют проксирование, чтоб победить эту проблему (страница левого сервера скачивается вашим сервером и выдается браузеру уже с него), но в этом случае сервер делает много обращений к внешнему ресурсу. Можно кэшировать или еще какие-нибудь грабли придумывать, но все это как-то не гуд.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Арчик

  • Захожу иногда
  • 281
  • 32 / 0
Чего только людям в голову не приходит )) Особенно заказчикам.
А в вашем случае и не будет работать - к контенту iframe, загруженному с левого домена, JS доступа не имеет по соображениям безопасности браузероделов.
Иногда используют проксирование, чтоб победить эту проблему (страница левого сервера скачивается вашим сервером и выдается браузеру уже с него), но в этом случае сервер делает много обращений к внешнему ресурсу. Можно кэшировать или еще какие-нибудь грабли придумывать, но все это как-то не гуд.

Так понимаю что тему можно закрывать! Печально ...
Компьютер-это вещь для решения проблем, которых у вас не было до его появления...
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
на хабре было решение для кросс домена, но там не для среднего ума.
т.е. я ничего не понял )))
но там фишка в том, что, на сколько я понял, к дочерней странице тоже надо доступ иметь. хотя могу и ошибаться.
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
но там фишка в том, что, на сколько я понял, к дочерней странице тоже надо доступ иметь. хотя могу и ошибаться.
Да, в этом случае есть лазейка с обратным вызовом. Скрипты дочерней страницы могут вызывать функции родительской страницы и передавать данные со своей. Но (я так понял) ТС там тянет чужой сайт?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Арчик

  • Захожу иногда
  • 281
  • 32 / 0
Но (я так понял) ТС там тянет чужой сайт?
Все сайты с моих,  хостов / полный / root
Компьютер-это вещь для решения проблем, которых у вас не было до его появления...
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Недавно тоже сталкивался )
Варианты:

1) Через PHP. Маленький php скрипт на Вашем домене подтягивает страницу (которую хотели вставить в iframe). И потом на свою страницу ставите в iframe ссылку на свой php скрипт. Получается, вроде как, не кроссдоменный iframe )

2) Подтянуть контент не через iframe, а через AJAX запрос.
Стоит добавить, источник должен давать заголовок:
header('Access-Control-Allow-Origin: *');
(или указать конкретный домен-приёмник)

Я делал и 1, и 2. Всё работает.
« Последнее редактирование: 16.09.2020, 19:48:58 от rsn »
Возможно, будет интересно: Интеграция с Ozon
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор jimka

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

Автор Lemonez

Ответов: 12
Просмотров: 1446
Последний ответ 06.12.2024, 01:27:05
от Lemonez
Компонент Admin Tools

Автор web1

Ответов: 3
Просмотров: 780
Последний ответ 06.10.2024, 13:02:10
от web1
Компонент вверху в админ панели

Автор cirip

Ответов: 1
Просмотров: 838
Последний ответ 14.05.2024, 13:50:32
от Гоша_Компьютерный
Как вставить модуль в код нужной страницы php?

Автор zvi

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