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

QuickSilver_92

  • Захожу иногда
  • 95
  • 0 / 0
Прикупил адаптивный шаблон Likeshop для VirtueMart 3. Шаблон был запакован в архив jpa. Распаковал архив с помощью Akeeba Kickstart, шаблон установился как будто ставлю Joomla с нуля. После установки удалил директорию установочную, как и всегда. Затем вышло 2 кнопки "Сайт" и "Панель администратора" При нажатии на сайт попадаю на сайт, а при нажатии на админку также попадаю на сайт. При попытке набрать мой_сайт/administrator всё равно перехожу на главную. Плагина jsecure нет, ничего не менял и не делал. Просто установил и всё. И уже на чистой нулевой распаковке не могу попасть в админку. Перерыл весь интернет, все способы, которые люди делали, мне не помогли. Куда копать?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
htaccess? попробуйте добавить/удалить
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

QuickSilver_92

  • Захожу иногда
  • 95
  • 0 / 0
htaccess? попробуйте добавить/удалить
Не могли бы подробнее описать? Я в этих делах чайник.
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Посмотрите, лежит ли в корне сайта .htaccess? Если да, то переименуйте его. Если нет, то переименуйте htaccess.txt => .htaccess

Смысл в том, чтоб попробовать с ним и без него - таким образом исключить его как причину (ну или подтвердить).
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
В файле конфига удалите значение в переменной, чтоб было
Код
public $live_site = '';
*

QuickSilver_92

  • Захожу иногда
  • 95
  • 0 / 0
Посмотрите, лежит ли в корне сайта .htaccess? Если да, то переименуйте его. Если нет, то переименуйте htaccess.txt => .htaccess

Смысл в том, чтоб попробовать с ним и без него - таким образом исключить его как причину (ну или подтвердить).

Есть .htaccess
Изменить на txt?
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Есть .htaccess
Изменить на txt?
на любое другое имя. потом вернете обратно
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

QuickSilver_92

  • Захожу иногда
  • 95
  • 0 / 0
В файле конфига удалите значение в переменной, чтоб было
Код
public $live_site = '';
Так и сделано изначально.
*

QuickSilver_92

  • Захожу иногда
  • 95
  • 0 / 0
на любое другое имя. потом вернете обратно
Переименование не помогло.
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
На сервере nginx или apache?
Если зайти по ссылке /administrator/index.php - тоже редиректит?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

QuickSilver_92

  • Захожу иногда
  • 95
  • 0 / 0
На сервере nginx или apache?
Если зайти по ссылке /administrator/index.php - тоже редиректит?
Связался с админом, необходимо писать так administrator/?like
Но плагина соответствующего нет...
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Но плагина соответствующего нет.
Поищите внимательнее  в папке plugins/system . И лучше закрыть папку /administrator авторизацией http_basic
*

QuickSilver_92

  • Захожу иногда
  • 95
  • 0 / 0
Поищите внимательнее  в папке plugins/system . И лучше закрыть папку /administrator авторизацией http_basic
Посмотрел в указанной Вами папке. Jsecure нигде нет.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Jsecure нигде нет
Ну так не один такой плагин. Проверьте насчет этого AdminExile
*

Konstantin124

  • Захожу иногда
  • 59
  • 1 / 0
Всем здравствуйте!

Имеется VDS с простеньким сайтом на Joomla. Решил расстаться с Apache и наконец-то переехать на Nginx + php-fpm. Всё очень нравится, и субъективно шустрее, и pagespeed со мной согласен.

Только вот проблема. Я с nginx на "Вы", не сталкивался до этого. Сделал редиректы, слеш убираю такой конструкцией:
Код
if (!-f $request_filename) {
     rewrite ^/(.*)/$ /$1 permanent;
   }
и перестаёт работать вход в админку. Пишет ERR_TOO_MANY_REDIRECTS или, проще говоря, сайт выполнил переадресацию слишком много раз. Весь остальной сайт при этом продолжает работать.

Может, кто подскажет, как бы и рыбку съесть слеш убрать и в админку попасть? Всем ответившим спасибо.

*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Вам именно через условие надо? Не нужно использовать if.

Вариант для nginx + fcgi-php:

Код
location / {
 try_files $uri /index.php$uri?$args;
 rewrite ^/(.*)/$ /$1 permanent;
}

Вариант для nginx + apache + mod_php:

Код
location / {
   location ~* \/(.*)/$ {
      rewrite ^/(.*)/$ /$1 permanent;
   }
   proxy_pass http://backend:80;
}
« Последнее редактирование: 22.04.2020, 23:59:05 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Konstantin124

  • Захожу иногда
  • 59
  • 1 / 0
В варианте
Код
location / {
 try_files $uri /index.php$uri?$args;
 rewrite ^/(.*)/$ /$1 permanent;
}
по всем страницам 500 Internal Server Error ((( В логе Nginx:
Цитировать
2020/04/22 23:38:23 [error] 20238#20238: *4 rewrite or internal redirection cycle while internally redirecting to "/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/favicon.ico", client:...
Все свои редиректы я отключил.
*

Konstantin124

  • Захожу иногда
  • 59
  • 1 / 0
Вам именно через условие надо? Не нужно использовать if.
Вроде у меня как раз те самые the only 100% safe things - return да rewrite.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Не подскажу, нужно все настройки смотреть. Судя по ошибке где то возникает циклическое перенаправление. Как вариант можно посмотреть файлы .htaccess в директории сайта. И у вас точно FastCGI?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как склеить главную страницу?

Автор Zegeberg

Ответов: 4
Просмотров: 885
Последний ответ 24.07.2023, 10:57:34
от fsv
Как русифицировать админку Joomla 3. Как поменять язык в админке?

Автор peklor

Ответов: 3
Просмотров: 1832
Последний ответ 09.02.2023, 01:25:02
от weser
Как корректно настроить редирект на без слеша?

Автор polezniy

Ответов: 0
Просмотров: 592
Последний ответ 28.03.2022, 15:36:38
от polezniy
Как сделать универсальный редирект в htaccess?

Автор Lemonez

Ответов: 3
Просмотров: 871
Последний ответ 16.02.2022, 00:38:09
от gartes
Редирект со страниц AMP на обычные

Автор Bozhkov2

Ответов: 3
Просмотров: 959
Последний ответ 09.08.2021, 10:47:01
от Bozhkov2