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

Kokshetau

  • Захожу иногда
  • 80
  • 0 / 0
  • https://vita-avto.kz/
Добрый день! Столкнулся с такой проблемой:
При возврата с поиска товара Joomshoping кнопкой Назад в браузере выходит сообщение:
"Подтвердите повторную отправку формы Для корректного отображения веб-страницы требуются введенные ранее данные. Их можно отправить повторно, но в этом случае все действия на странице будут выполнены снова.
Чтобы повторно ввести данные, необходимые для загрузки страницы, нажмите "Обновить".
ERR_CACHE_MISS"
Модуль поиска Jshopping Search
Joomla! 3.9.20
ДШ Version 4.18.4

Прошу помощи
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Уже не раз обсуждалось... Пользуйтесь поиском по форуму

Читайте про POST и GET отправку форм
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Kokshetau

  • Захожу иногда
  • 80
  • 0 / 0
  • https://vita-avto.kz/
Спасибо за ответ!  :D
Решил так: в файле ./modules/mod_jshopping_search/tmpl/default.php

Здесь метод post
<form class="form-inline mod-shop-search" name = "searchForm" method = "post" action="<?php print SEFLink("index.php?option=com_jshopping&controller=search&task=result", 1);?>" onsubmit = "return isEmptyValue(jQuery('#jshop_search').val())">

Исправил на GET.

И вопрос решился. Тему можно закрывать!
*

mag_num83

  • Захожу иногда
  • 51
  • 0 / 0
у меня такая же проблема, но этот способ с подменой post на get не помог. думаю что еще с кэшем как настроить
*

Шрек

  • Новичок
  • 4
  • 0 / 0
у меня сработало
подтверждаю  :D
простая замена POST на GET все решила
*

mag_num83

  • Захожу иногда
  • 51
  • 0 / 0
не помогает... та же ошибка при возврате / кэш отключен на сайте и в модулях
« Последнее редактирование: 23.07.2024, 11:00:03 от mag_num83 »
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
не помогает... та же ошибка при возврате
Значит не там меняете.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

mag_num83

  • Захожу иногда
  • 51
  • 0 / 0
Значит не там меняете.
<div class="jshop_ajaxsearch">
   <form name="searchForm" method="get" action="<?php print SEFLink("index.php?option=com_jshopping&controller=search&task=result", 1);?>" onsubmit="return isEmptyValue(jQuery('#jshop_search').val());" autocomplete="off">


Помогает установка плагина plg_system_expiresheaders  , но он ломает мне на сайте другие функции (фильтры, сравнение и тд) поэтому удалил его.
« Последнее редактирование: 23.07.2024, 11:13:16 от mag_num83 »
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Код
<div class="jshop_ajaxsearch">
   <form name="searchForm" method="get" action="<?php print SEFLink("index.php?option=com_jshopping&controller=search&task=result", 1);?>" onsubmit="return isEmptyValue(jQuery('#jshop_search').val());" autocomplete="off">

У Вас AJAX поиск, а выше идет речь о обычном модуле поиска. Ваш модуль работает через метод POST
Можете конечно поменять в файле аддона - ajaxsearch.js POST на GET но не знаю будет ли работать. А вообще это платное расширение по нему лучше обращаться к разработчикам
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

mag_num83

  • Захожу иногда
  • 51
  • 0 / 0
Код
<div class="jshop_ajaxsearch">
   <form name="searchForm" method="get" action="<?php print SEFLink("index.php?option=com_jshopping&controller=search&task=result", 1);?>" onsubmit="return isEmptyValue(jQuery('#jshop_search').val());" autocomplete="off">

У Вас AJAX поиск, а выше идет речь о обычном модуле поиска. Ваш модуль работает через метод POST
Можете конечно поменять в файле аддона - ajaxsearch.js POST на GET но не знаю будет ли работать. А вообще это платное расширение по нему лучше обращаться к разработчикам

Тогда вопрос, как на результат поиска (на страницу результата) установить Expires?
*

kit2m2

  • Живу я здесь
  • 3345
  • 273 / 0
  • Беру сайты на полное сопровождение
Тогда вопрос, как на результат поиска (на страницу результата) установить Expires?
Понятия не имею что такое - Expires
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

mag_num83

  • Захожу иногда
  • 51
  • 0 / 0
ничего не помогло! все равно ERR_CACHE_MISS 

откуда этот post если я везде сменил на гет . ?     

Наверное надо на результат поиска как то включить сохранение кэша products/search/result   , как это сделать через htaccess?
« Последнее редактирование: 07.08.2024, 17:34:20 от mag_num83 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 5
Просмотров: 775
Последний ответ 08.05.2025, 18:35:51
от victorantoniak
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 845
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav
WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 13
Просмотров: 3569
Последний ответ 29.01.2025, 20:38:38
от sergeytolkachyov
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 0
Просмотров: 1080
Последний ответ 24.12.2024, 14:50:42
от sergeytolkachyov
WT JShopping Cart - модуль Bootstrap 5 корзины для JoomShopping 5 и Joomla 4

Автор sergeytolkachyov

Ответов: 7
Просмотров: 3794
Последний ответ 15.12.2024, 09:34:09
от kit2m2