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

ra700

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
ChronoForms v.6.0.5, Joomla 3.7.2

Есть два вопроса:

1.Есть форма обратной связи, которая доступна только зарегистрированным пользователям.
В форме - поле вопроса и кнопка загрузки фото.
Как передать на эл.почту Имя пользователя (без ввода в отдельное поле) вместе с данными формы?
В конструкторе форм есть вкладка, где задаются данные для отправки на эл.почту:
Код
<table width="100%" cellpadding="3" cellspacing="3" border="0" class="ui table">
<tr><td align="left"><strong>Email пользователя:  </strong>{data:email}</td></tr>
<tr><td align="left"><strong>Вопрос:  </strong>{data:question}</td></tr>
</table>
Фото прикрепляется в других настройках.


2. Как в админке компонента ChronoForms вставить кнопку (или пункт меню), по нажатию на которую удаляются файлы определенной папки компонента?
В папке находятся файлы jpg, png, gif.
« Последнее редактирование: 28.05.2017, 16:54:25 от ra700 »
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
1.Есть форма обратной связи, которая доступна только зарегистрированным пользователям.
В форме - поле вопроса и кнопка загрузки фото.
Как передать на эл.почту Имя пользователя (без ввода в отдельное поле) вместе с данными формы?

Создай скрытое поле...
Код
<?php $user = JFactory::getUser(); ?>
<input type="hidden" name="username" value="<?php echo $user->username; ?>">
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ra700

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Задача решена.
В шаблоне отправляемого письма пишем переменную: {user:name}
Например:
Код
<table width="100%" cellpadding="3" cellspacing="3" border="0" class="ui table">
<tr><td align="left"><strong>Имя пользователя: </strong>{user:name}</td></tr>
<tr><td align="left"><strong>Вопрос:  </strong>{data:question}</td></tr>
</table>

Получаем на почту:

Имя пользователя: Иванов Иван
Вопрос: На электрической схеме автомобиля не понятно как соединяются две цепи.

И вложенное фото.

« Последнее редактирование: 28.05.2017, 19:12:49 от ra700 »
*

ra700

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Остался нерешенным второй вопрос.

2. Как в админке компонента ChronoForms вставить кнопку (или пункт меню), по нажатию на которую удаляются файлы определенной папки компонента?
В папке находятся файлы jpg, png, gif.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

url материала на email (ChronoForms) [Решено]

Автор Konstantinl

Ответов: 20
Просмотров: 12442
Последний ответ 12.08.2022, 03:00:20
от jesus
Замена сообщения "Mailer Error: You must provide at least one recipient email address."

Автор eldenio

Ответов: 3
Просмотров: 4797
Последний ответ 19.08.2016, 11:52:23
от eldenio
Как получить URL страницы с помощью PHP ?

Автор Xzizz

Ответов: 10
Просмотров: 2539
Последний ответ 15.08.2016, 14:33:29
от nicalf
Как после отправки формы сделать перенаправление?

Автор Никонор

Ответов: 5
Просмотров: 3012
Последний ответ 08.03.2016, 18:42:33
от Санчо
Динамическая смена email в ChronoForms v5

Автор Vicos

Ответов: 2
Просмотров: 1769
Последний ответ 07.03.2016, 23:31:55
от Санчо