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

denimet

  • Осваиваюсь на форуме
  • 11
  • 0 / 1
Подскажите пожалуйста как убрать home в в адресной строке?
При переходе в меню в категорию допустим "планшеты" в строке появляется home, как его убрать? Что то нигде не нашел.
Вот так сейчас: мой сайт.ру/home/planshety
А надо чтоб было так: Мой сайт.ру/planshety
Заранее всем спасибо за помощь.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как убрать home в в адресной строке?
« Ответ #1 : 15.02.2018, 15:51:59 »
смотреть алиасы пунктов меню и вообще структуру, урлы наследуются соответственно уровням вложенности в меню
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

denimet

  • Осваиваюсь на форуме
  • 11
  • 0 / 1
Re: Как убрать home в в адресной строке?
« Ответ #2 : 15.02.2018, 15:59:53 »
смотреть алиасы пунктов меню и вообще структуру, урлы наследуются соответственно уровням вложенности в меню
А где алиасы смотреть? перерыл все в меню не нашел. раньше такого не было, первый раз с таким столкнулся.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как убрать home в в адресной строке?
« Ответ #3 : 15.02.2018, 16:02:29 »
в настройках пунктов меню, рядом с заголовком есть поле алиас
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

denimet

  • Осваиваюсь на форуме
  • 11
  • 0 / 1
Re: Как убрать home в в адресной строке?
« Ответ #4 : 15.02.2018, 16:55:40 »
спасибо
*

Zaka

  • Новичок
  • 3
  • 0 / 0
Как убрать home в адресной строке?
« Ответ #5 : 28.04.2024, 21:22:10 »
Здравствуйте!
Эта тема уже у кого-то возникала здесь 5 лет назад.

Проблема такая: у меня под Joomla 4 адреса выглядят так:
https://мой_сайт.ru/home/статья1

А хотелось бы без /home/:
https://мой_сайт.ru/статья1

home - это алиас главного меню, оставить его пустым (как кто-то советовал 5 лет назад) не получится.

Попытки убрать /home/ через .htaccess

RewriteCond %{REQUEST_URI} ^(.*)/home/(.*)$
RewriteRule ^(.*)$ %1/%2 [R=301,L]


приводят к тому, что адреса становятся такими как нужно, но выдают ошибку 404.

Есть ли варианты решения?

*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Как убрать home в в адресной строке?
« Ответ #6 : 29.04.2024, 17:12:33 »
А что у вас с меню? home является родительским для остальных пунктов? Если да, переделывайте, и 301 редирект, что бы не потерять проиндексированные ссылки.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Zaka

  • Новичок
  • 3
  • 0 / 0
Re: Как убрать home в в адресной строке?
« Ответ #7 : 30.04.2024, 09:14:21 »
Да, home - родительский.
Никак не могу сообразить, как это переделать. Может ли быть главное меню вообще без родительского пункта?

UPD: ага, вроде бы, разобрался. Спасибо!
Если создать user-menu вместо main-menu, то там этого home не будет. Спасибо!

Интересно, есть ли способ продублировать всю структуру, уже созданную в главном меню, в пользовательское меню?
« Последнее редактирование: 30.04.2024, 10:21:20 от Zaka »
*

Театрал

  • Захожу иногда
  • 232
  • 7 / 0
Re: Как убрать home в в адресной строке?
« Ответ #8 : 02.05.2024, 08:33:13 »
Зачем дублировать?

У главного пункта меню может не быть дочерних. Чаще всего так и поступают, он нужен лишь для того чтобы понять который пункт главный.
Если на главной не нужен никакой компонент (только модули), есть специальный компонент пустой страницы: https://web-tolk.ru/dev/components/blank-page-component-for-joomla

Чтобы его не показывать (спрятать) есть специальная настройка "Показывать в меню" во вкладке "Параметры ссылки".

Если уж вам прям нужны дубли пунктов одного меню в другом, это делают при помощи "Псевдонима пункта меню" для каждого. При создании такого пункта нужно выбрать: Тип пункта меню -> Системные ссылки -> Псевдоним пункта меню, и там уже выбрать основной пункт, на который текущий будет ссылаться.
*

Zaka

  • Новичок
  • 3
  • 0 / 0
Re: Как убрать home в в адресной строке?
« Ответ #9 : 02.05.2024, 11:39:18 »
Это я неудачно выразился. Я имел в виду: можно ли как-то перенести уже созданную структуру меню из main-menu в user-menu, чтобы не копипастить ее по пунктам ручками - как я в итоге и сделал. В результате так и получилось - главное меню без дочерних пунктов.

Спасибо за информацию про компонент пустой страницы! Это мне как раз сейчас нужно.

Проблема решена, всем спасибо!

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать из ссылки /images

Автор step147

Ответов: 4
Просмотров: 2867
Последний ответ 17.08.2021, 11:19:32
от step147
Как убрать ID из URL Joomla 3?

Автор SaxMusicOnly

Ответов: 142
Просмотров: 59886
Последний ответ 02.03.2021, 14:47:35
от Vasiliy111
Как убрать 301 редирект с Get параметров (Sef модуль joomla)?

Автор Sergei1212

Ответов: 2
Просмотров: 2093
Последний ответ 27.09.2017, 23:01:57
от dmitry_stas
sh404SEF и мультиязычность, убрать из ссылки ru (сам url нормальный)

Автор Artorius

Ответов: 0
Просмотров: 1887
Последний ответ 12.04.2017, 15:34:37
от Artorius
Как убрать index.php после названия сайта?

Автор alexanderuss

Ответов: 7
Просмотров: 2575
Последний ответ 22.04.2016, 18:01:02
от Sini