Новости 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 Ответов
  • 3526 Просмотров
*

moskitos80

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Привет всем. Задача простая - делаю ссылку для выбора картинки:
Код HTML:
Код
<a class="modal" title="Изображение" href="index.php?option=com_media&amp;view=images&amp;layout=default&amp;tmpl=component&amp;e_name=selectmap" rel="{handler: 'iframe', size: {x: 570, y: 400}}">
 <?php echo JText::_('SELECT_MAP')?>
</a>
, вешаю на неё модальное окно:
PHP код:

Код
<?php JHTML::_('behavior.modal', 'a.modal' )?>

При нажатии кнопки открывается модальное окно с iframe и идет запрос к com_media: index.php?option=com_media&view=images&layout=defa ult&tmpl=component&e_name=selectmap - Собственно вопрос, как теперь на странице, с которой вызывалось модальное окно получить результат - урл выбранной картинки, если при нажатии кнопки "Вставить" - в модальном окне, Joomla обращается к ф-ции jInsertEditorText, которую используют плагины - кнопки для виз. редакторов, и переопределить её я не могу и использовать тоже т.к. значение нужно поиметь не виз. редакторе.

Есть у кого идеи, кроме как реализовать собственный менеджер картинок?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Можно посмотреть как реализован возврат наименования статьи при выборе ее в элементе Article при редактировании пункта меню. Там по сути все просто и может быть реализовано двумя способами:
1. при открытии модального окна переопределяется обработчик onClose, который срабатывает при закрытии модального окна
2. в модальном окне вызывается функция, объявленная в родительском документе (доступ - через window.parent).
*

moskitos80

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Можно посмотреть как реализован возврат наименования статьи при выборе ее в элементе Article при редактировании пункта меню...

Нет меня интересует конкретно com_media. А про обработчик onClose можно подробнее? Я смотрел исходник метода JHTMLBehavior::modal($selector='a.modal', $params = array())  - про второй параметр, если честно не очень понятно, если я определяю что то вроде:
Код
JHTML::_('behavior.modal', 'a.modal', array('onClose' = > 'myfunction') );
И определяю в Javascript функцию с именем myfunction
то эта конструкция в итоге выдаёт что myfunction не имеет метода create. Я пробовал даже создавать объект myfunction с методом  create - не помогает! Уже пол инета перерыл ни где - ничего!
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Хм, а что если попробовать переопределить ImageManager.onok?
*

moskitos80

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Хм, а что если попробовать переопределить ImageManager.onok?
Решил не заморачиваться с ImageManager. Спасибо за попытку помочь. Остальные решения найденные в сети не оптимальны. Решил реализовывать своими силами.
*

Good

  • Новичок
  • 1
  • 0 / 0
Я смотрел исходник метода JHTMLBehavior::modal($selector='a.modal', $params = array())  - про второй параметр, если честно не очень понятно
А второй параметр определяет поведение SqeezBox'a - iframe, rel, size и т.д. Кстати, картинку лучше вызывать с параметром image ;-).
Вот, взгляните на домашнюю страничку плагина:
http://digitarald.de/project/squeezebox/
*

moskitos80

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Большое всем спасибо. Сделал в итоге через модальное окно, но с функционалом com_media не стал заморачиваться. Просто добавил в контроллер новый метод и ещё один вид, который вызывается из ifram-a с параметром format=row. Метод парсит определённую папку и выводит картинки рядами, на них повесил свой JS всё работает стабильно.  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

params->get для компонента, как получить свои собственные параметры для компонента

Автор klubnichkaaa

Ответов: 13
Просмотров: 13996
Последний ответ 01.06.2017, 20:20:28
от Septdir
По ID'у пункта меню получить ссылку для перехода

Автор GRIG

Ответов: 4
Просмотров: 2904
Последний ответ 08.05.2017, 17:13:05
от Aleks.Denezh
Значение из контента перенести в модуль

Автор leo78

Ответов: 42
Просмотров: 3067
Последний ответ 31.07.2015, 19:51:00
от leo78
Получить значения пагинации к примеру $this->pagination->total

Автор klubnichkaaa

Ответов: 7
Просмотров: 1620
Последний ответ 09.06.2014, 14:50:57
от klubnichkaaa
Модальные окна в административной части

Автор klubnichkaaa

Ответов: 5
Просмотров: 1617
Последний ответ 03.06.2014, 09:57:57
от klubnichkaaa