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

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
Добрый день!

Есть урлы:
site.ru/shop
site.ru/shop/tovar.html

как написать дериктиву для htaccess чтобы с site.ru/shop редиректило на site.ru, но при этом оставался URL site.ru/shop/tovar.html

Обычный редирект типа
Код
Redirect 301 /shop http://site.ru
- убирает из всех урлов /shop, тоесть URL товара станет site.ru/tovar.html

Если не решить через htaccess можно ли решить скриптом в материале документа на который настроен site.ru/shop?
*

DiabloZet

  • Захожу иногда
  • 151
  • 5 / 1
  • Честь превыше всего!
Re: htaccess редирект 301 своеобразный
« Ответ #1 : 04.03.2015, 16:54:33 »
Если я правильно понимаю вам нужно просто создать 2ю основную страницу с ссылкой site.ru/shop/tovar.html :o
Или же воспользоваться iFrame что не очень желательно :dry:
*

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
Re: htaccess редирект 301 своеобразный
« Ответ #2 : 04.03.2015, 18:34:09 »
Если я правильно понимаю вам нужно просто создать 2ю основную страницу с ссылкой site.ru/shop/tovar.html :o
Или же воспользоваться iFrame что не очень желательно :dry:

мне нужно только с одной страницы site.ru/shop сделать редирект на site.ru но так чтобы все остальные урлы остались не тронутыми
сейчас у меня настроены пункты меню с вложенностью. где /shop пункт верхнего уровня

iframe действительно не желателен. ПС его не будет обрабатывать.
*

mister_boy

  • Захожу иногда
  • 178
  • 2 / 0
Re: htaccess редирект 301 своеобразный
« Ответ #3 : 04.03.2015, 22:37:32 »
Нашел решение своего вопроса.
Может кому понадобится.

В шаблон сверху вставляем:
Код
<?php
if ($_SERVER['REQUEST_URI']=="/исходный урл") {
header("HTTP/1.1 301 Moved Permamently");
header("Location: http://site.ru/целевой урл");
die();
}
?>

Данный способ дает корректный 301 редирект. Не меняет все остальные урлы. не использует скриптов, которые ПС не видят.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенаправление htaccess с id в категории на без id

Автор MultiMatrix83

Ответов: 14
Просмотров: 3877
Последний ответ 30.01.2024, 02:03:44
от Zegeberg
Редирект не работает с / на без слеша

Автор buto

Ответов: 5
Просмотров: 3164
Последний ответ 19.02.2019, 12:12:15
от dmitry_stas
Технические дубли страниц - 301 редирект

Автор randomObject

Ответов: 1
Просмотров: 1403
Последний ответ 23.01.2018, 14:05:52
от ProtectYourSite
RFI узязвимости, файл.htaccess (redirect for weird rfi attacks through url)

Автор Elimelech

Ответов: 8
Просмотров: 2066
Последний ответ 27.11.2017, 10:29:30
от SeBun
Можно ли делать редирект со страниц RSS на страницу 404?

Автор Ирина Поехали

Ответов: 3
Просмотров: 1611
Последний ответ 03.10.2017, 19:50:18
от draff