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

antarey

  • Захожу иногда
  • 168
  • 1 / 0
Делаю модуль для AJAX фильтрации блога категории по меткам и категориям
Сам модуль http://files.dp.ua/ZXwE
Как бы работает, но проблема в том что после загрузки контента ломается шаблон. Шаблон использую http://astroidframework.com
Вот код загрузки
Код

                var gBlogUrl = 'index.php?option=com_content&view=category&layout=blog';
var selected_tag = jQuery('#selected_tag').val();
var selected_cat = jQuery('#selected_cat').val();
var blog_item_id = jQuery('#blog_item_id').val();
var selector = sessionStorage.getItem("ajaxSelector");

gBlogUrl += '&id='+selected_cat+'&Itemid='+blog_item_id;

jQuery('#form-tagscat-filter').attr('action',gBlogUrl);

ShowLoadingScreen();
jQuery.ajax({
url: gBlogUrl,
type: 'post',//get
data: 'filter_tag='+selected_tag+'&tmpl=component',
dataType: 'html',
cache: false,
success: function(response) {
jQuery(selector).html(response);
HideLoadingScreen();
}
});
Подскажите, в чем проблема ?
И как определить в шаблоне в какую позицию возвращать запрос?
Сейчас использую позицию ".blog", но пробовал и родительские классы - бестолку
Спасибо
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
в шаблоне есть позиции для модулей, а есть вывод основного контента, это который <jdoc:include type="component" />, вот в его непосредственную обёртку и следует указывать в скрипте как selector, при этом ваш фильтр должен быть за пределами вывода компонента, а шаблон component в корне папки основного шаблона сайта должен содержать только 2 строчки:
Код
<jdoc:include type="message" />
<jdoc:include type="component" />
*

antarey

  • Захожу иногда
  • 168
  • 1 / 0
@AlekVolsk в шаблоне нет
jdoc:include type="component"
За содержание component.php спасибо, помогло
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отправка файлов через ajax в модуль Joomla

Автор hemicide

Ответов: 19
Просмотров: 1824
Последний ответ 11.04.2022, 08:44:33
от sivers
Применение ajax (Аякс) в модуле Joomla

Автор tm2010

Ответов: 34
Просмотров: 4789
Последний ответ 26.09.2020, 09:38:35
от b2z
ajax проверку на вход. В стандартном модуле входа?

Автор Dolphin4ik_1

Ответов: 4
Просмотров: 696
Последний ответ 23.07.2020, 15:03:57
от sivers
Обработка AJAX в компоненте Joomla!3

Автор balancer

Ответов: 33
Просмотров: 11355
Последний ответ 23.07.2020, 07:45:53
от Dolphin4ik_1
Модуль обратной связи. Как использовать свойство context в ajax запросе

Автор ushangi

Ответов: 0
Просмотров: 654
Последний ответ 15.02.2020, 22:08:12
от ushangi