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

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Здравствуйте.
J 1.5.22 + mod_roknavmenu 3.4 +  Joom!Fish 2.0.3.
Как известно, в админке Joom!Fish присутствуют две таблицы параметров переводимого на другой язык модуля: одна - на исходном языке, другая - для переведённого. Так вот, именно на этом модуле (mod_roknavmenu), при попытке активировать перевод модуля, сбрасываются в дефолтные все параметры настройки в таблице параметров перевода. Исходные параметры (на русском языке) не меняются. Работает переведённый модуль, соответственно, криво. Причём, если зайти в админку перевода этого модуля впервые, то в обеих таблицах все параметры на месте, и работает он на другом языке точно также, как на исходном. Проблема возникает только при попытке сохранить изменения перевода Shocked
Кроме того, даже чекбоксы для двух языков объединяются в одно целое, т.е. невозможно поставить две разные точки в две колонки для двух языков, строка выбора параметров как бы общая для обоих.

Пишу здесь, потому что глюков с переводом Joom!Fish других модулей пока не наблюдалось, только RokNavMenu.

Проверено на mod_roknavmenu 3.4 и какой-то более старой версии, Joom!Fish 2.0.3 и 2.2.3 на 3 сайтах.
Кто-нибудь сталкивался и что делать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

RokNavMenu - Пункты меню в 2 строки

Автор rmnk

Ответов: 4
Просмотров: 2128
Последний ответ 15.03.2015, 13:46:57
от rmnk
По три подкатегории в mod_mainmenu или с roknavmenu

Автор Antonlogs

Ответов: 0
Просмотров: 1553
Последний ответ 25.05.2012, 01:18:14
от Antonlogs
Не работают настройки меню в админке

Автор her-schtirliz

Ответов: 1
Просмотров: 1515
Последний ответ 10.02.2011, 23:29:27
от her-schtirliz
глобальные настройки

Автор exec

Ответов: 1
Просмотров: 1329
Последний ответ 16.12.2010, 12:30:14
от SinBad
Пункты меню ( изменить настройки компонента)

Автор Dontworrybehappy

Ответов: 0
Просмотров: 1627
Последний ответ 20.07.2010, 01:43:55
от Dontworrybehappy