Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.

Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.

Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:

  • для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов
    Uri::root() и
    Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.
  • для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера.

Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки

--live-site, например,
—live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет
https://site.rujoomla.php.Либо в параметре
$live_site в файле configuration.php, так как
CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.

⚠️ Иначе в качестве хоста и url класса Uri будет установлено https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр

$live_site можно из объекта приложения

<?php protected function doExecute(InputInterface $input, OutputInterface $output): int { //... $live_site = $this->getApplication()->get('live_site'); //... }

и исходя из этого строить дальнейшую логику.

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 973 Просмотров
*

VOR

  • Новичок
  • 3
  • 0 / 0
Здравствуйте!
Не могу сделать обновление для плагина «Установка из JED».
Нажимаю на кнопку "обновить" ... без результата. Выбрал JED Checker нажимаю "установить" ... без результата. На хостинге мне ответили, что при нажатии на кнопку возникает ошибка в консоли браузера:

Uncaught TypeError: Cannot read property 'value' of undefined
    at Object.Joomla.submitbutton5 (client.min.js?jversion=3.6.5:1)
    at HTMLInputElement.onclick (index.php?option=com_installer:729)

Помогите! пожалуйста!
*

Cedars

  • Давно я тут
  • 585
  • 31 / 0
Re: Не работает Установить из JED
« Ответ #1 : 31.10.2020, 06:18:49 »
смените браузер для начала.. Запустите новый без всяких установленных дополнений...
*

VOR

  • Новичок
  • 3
  • 0 / 0
Re: Не работает Установить из JED
« Ответ #2 : 31.10.2020, 13:25:08 »
Безусловно, именно это и было сделано в первых шагах.... Но, увы... все осталось без изменений
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Re: Не работает Установить из JED
« Ответ #3 : 31.10.2020, 15:20:41 »
Но, увы... все осталось без изменений
Запустите новый без всяких установленных дополнений...
Вы наверное имеете в виду - без дополнений браузера ?
- Я бы попробовал так ! - Принудительное обновление Joomla ! - но и это еще не все !
- Обычно в Админке скрипты вешаются на элементы управления -  в теле страницы. И если у Вас установлен какой то системный плагин - который будет также из тела страницы вешать к примеру обработчик - ну скажем есть такие кнопочки - очистить кеш например.
И если от этого плагина - в скрипте будет ошибка - то вполне вероятно что кнопка от JET - просто не будет должным образом инициализирована ! - поэтому она не знает от куда ей брать значение value - соответственно что это приведет к  ошибки !
попробуйте так - откройте инструменты разработки в браузере обновите страницу и откройте вкладку JET - если будет что то красное то смотрите что там за код !!
Не знаю - Может не понятно объяснил ! )) - но я старался ! ))
*

VOR

  • Новичок
  • 3
  • 0 / 0
Re: Не работает Установить из JED
« Ответ #4 : 31.10.2020, 21:10:01 »
Спасибо большое за совет... и помощь... это так редко...Но, утопающий очень плох... поэтому никак...
Все та же ошибка:
Uncaught TypeError: Cannot read property 'value' of undefined
    at Object.Joomla.submitbutton5 (client.min.js?jversion=3.6.5:1)
    at HTMLInputElement.onclick (index.php?option=com_installer:729)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не грузится страница админки, после смены хостинга. Но сам сайт работает

Автор Janitor

Ответов: 2
Просмотров: 1284
Последний ответ 02.07.2023, 10:37:01
от Janitor
Не работает после переноса на другой хостинг

Автор Ravil

Ответов: 2
Просмотров: 1265
Последний ответ 05.10.2022, 07:58:32
от wishlight
Сайт работает на PHP 7.2 /Joomla 3.9 ---- Akeeba Backup 8.1.10 не запускается

Автор Validator

Ответов: 9
Просмотров: 1779
Последний ответ 21.09.2022, 19:09:17
от Validator
Плагин VM Custom - Произвольные товары не работает в VM 3.8.8

Автор piter2022

Ответов: 0
Просмотров: 773
Последний ответ 31.03.2022, 12:15:05
от piter2022
Не работает медиа менеджер в меню второго уровня

Автор Paveldz

Ответов: 4
Просмотров: 988
Последний ответ 18.11.2021, 13:33:54
от Paveldz