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

romagromov

  • Давно я тут
  • 692
  • 9 / 3
data-toggle data-target в меню Joomla?
« : 14.07.2022, 13:03:29 »
Здравствуйте!
Как получить в Joomla меню data-toggle data-target ?
B желательно вообще вот такой код чтобы был

<a data-toggle="modal" data-target="#login-modal-360"> Войти </a>
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Re: data-toggle data-target в меню Joomla?
« Ответ #1 : 14.07.2022, 14:02:23 »
Тут 2 варианта. Более правильный - правка макета меню.
Второй скорее как хак (а потому может быть закрыт со временем), но правки макета не требует:
В настройках пункта меню закл. "Параметры ссылки" там есть поле "CSS класс ссылки" в него впишите следующее (ошибки с кавычками у меня нет):
" data-toggle="modal" data-target="#login-modal-360
сохраните и проверьте.
закрывающая кавычка как бы переносится в начало. она завершает класс и после нее начинается другой (произвольный) атрибут. В 3-й Joomla работает, в 4-й не проверял.
Это как sql-инъекция, кстати.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

romagromov

  • Давно я тут
  • 692
  • 9 / 3
Re: data-toggle data-target в меню Joomla?
« Ответ #2 : 14.07.2022, 16:55:38 »
правка макета меню
Какой именно файл править и собственно как?
Ведь это коснется и других пунктов меню.
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Re: data-toggle data-target в меню Joomla?
« Ответ #3 : 14.07.2022, 17:33:14 »
/modules/mod_menu/tmpl/default.php
скопируйте его под другим именем (можно еще и в шаблон закинуть) в модуле меню переназначте макет вывода и тогда изменения коснуться только этого меню (модуля). содержимое макета посмотрите сами - там не так сложно. только ссылку в открытом виде не найдете - она выводится через класс Joomla. но настраивается вполне.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

romagromov

  • Давно я тут
  • 692
  • 9 / 3
Re: data-toggle data-target в меню Joomla?
« Ответ #4 : 14.07.2022, 18:04:31 »
/modules/mod_menu/tmpl/default.php
скопируйте его под другим именем (можно еще и в шаблон закинуть) в модуле меню переназначте макет вывода и тогда изменения коснуться только этого меню (модуля). содержимое макета посмотрите сами - там не так сложно. только ссылку в открытом виде не найдете - она выводится через класс Joomla. но настраивается вполне.


Точно. Можно прямо в шаблон вручную добавить или просто заменить какой-то элемент ul li.
Да я купил компонент JFBConnect. Он выводится модулем авторизации.
Ну и чтобы вызвать модальное окно с авторизацией в модуле используется конструкция
Код
<a data-toggle="modal" data-target="#login-modal-360"> Войти </a>

До этого, у меня стоял другой модуль. И у него модалка вызывалась классом в ссылке. Поэтому проблем с меню не было - просто класс добавил и все.
А сейчас мне нужно именно такой код, как выше.
Я попробовал ваш вариант выше. В коде нормально отображается, но не срабатывает. Видимо из-за наличия href="#".
Попробую прямой вставкой в шаблон меню.
Спасибо.
Или есть еще предложения - пишите ))
« Последнее редактирование: 14.07.2022, 18:46:21 от romagromov »
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Re: data-toggle data-target в меню Joomla?
« Ответ #5 : 14.07.2022, 20:21:53 »
Если в исходном коде страницы вы эти атрибуты в ссылке видите, но при этом что-то не работает, то врядли в этом виноват способ вставки атрибутов. Добавьте на страницу ссылку статично, чтоб не сомневаться, и на ней тестируйте модальное окно.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

romagromov

  • Давно я тут
  • 692
  • 9 / 3
Re: data-toggle data-target в меню Joomla?
« Ответ #6 : 14.07.2022, 20:33:55 »
Если в исходном коде страницы вы эти атрибуты в ссылке видите, но при этом что-то не работает, то врядли в этом виноват способ вставки атрибутов. Добавьте на страницу ссылку статично, чтоб не сомневаться, и на ней тестируйте модальное окно.

Статично все работает.
Ладно, спасибо.
Тут главное сам путь подсказали, через шаблон модуля меню.
Я всегда именно так и делаю - либо шаблоны, либо override.
А тут что-то зациклился именно на ссылке из пункта меню и напрочь забыл про шаблоны модулей.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна проф помощь в обновлении Joomla на лок.сервере osp. Можно платно

Автор Fati

Ответов: 0
Просмотров: 171
Последний ответ 16.06.2025, 16:40:04
от Fati
Помогите с БАГом в панели администратора Joomla 3

Автор akteon25

Ответов: 2
Просмотров: 1162
Последний ответ 26.02.2025, 16:41:56
от akteon25
Версии РНР и Joomla 3

Автор Ebelous

Ответов: 8
Просмотров: 2933
Последний ответ 27.01.2025, 20:38:45
от pavelrer
Исчез компонент 'Поля' из меню в админке

Автор goga_pgasovav

Ответов: 2
Просмотров: 1318
Последний ответ 23.12.2024, 22:31:21
от goga_pgasovav
Trouble Upgrading from Joomla 3.8 to 3.9

Автор melissa00

Ответов: 0
Просмотров: 1757
Последний ответ 26.07.2024, 10:03:51
от melissa00