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

Aham

  • Новичок
  • 3
  • 0 / 0
Здравствуйте! Нужна скорая помощь в организации работающей формы об. связи . Шаблон используется с демо-данными, где в custom-модуле прописан HTML код для обратной связи, в action не указан обработчик, стоит заглушка.

Код
<form class="Information" action="#">
<div><strong>Get info based on<br /> your study lavel</strong> <input name="full-name" type="text" placeholder="Full name" /> <input name="education-level" type="text" placeholder="Your education level" /> <input name="email" type="email" placeholder="Your e-mail" /> <input type="submit" value="Request information" /></div>
</form>

Загрузил в шаблон php файл - ничего не работает, письма не приходят, лишь перезагружается страница. В общих настройках параметры указаны верные.

Код
<?php

if(isset($_POST['submit'])){
$to = "...@....net"; // Здесь нужно написать e-mail, куда будут приходить письма
$from = "no-reply@...net"; // Здесь нужно написать e-mail, от кого будут приходить письма, например no-reply(собака)....net

/* Указываем переменные, в которые будет записываться информация с формы */
$first_name = $_POST['first_name'];
$message = $_POST['message'];
$email = $_POST['email'];
$subject = "Форма отправки сообщений с сайта .....net";

/* Проверка правильного написания e-mail адреса */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("<br /> Е-mail адрес не существует");
}

/* Переменная, которая будет отправлена на почту со значениями, вводимых в поля */
$mail_to_info@...net = "Здравствуйте!
Было отправлено сообщение с сайта!
Имя отправителя: $first_name
E-mail: $email
Текст сообщения: $message
Чтобы ответить на письмо, создайте новое сообщение, скопируйте электронный адрес и вставьте в поле Кому.";

$headers = "From: $from \r\n";

/* Отправка сообщения, с помощью функции mail() */
mail($to, $subject, $mail_to_info@....net, $headers . 'Content-type: text/plain; charset=utf-8');
echo "Сообщение отправлено. Спасибо Вам " . $first_name . ", мы скоро свяжемся с Вами.";
echo "<br /><br /><a href='https://....'>Вернуться на сайт.</a>";
}
?>
<!--Переадресация на главную страницу сайта, через 3 секунды-->
<script language="JavaScript" type="text/javascript">
function changeurl(){eval(self.location="https://....");}
window.setTimeout("changeurl();",3000);
</script>
« Последнее редактирование: 12.07.2019, 20:29:11 от Taatshi »
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Сообщение отправлено. Спасибо Вам... при отправке выскакивает?
*

Aham

  • Новичок
  • 3
  • 0 / 0
Сообщение отправлено. Спасибо Вам... при отправке выскакивает?
Нет, просто обновляется страница.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Нет, просто обновляется страница.

Ну так вбейте информацию в php файл и настройте саму форму. Естественно, что без настройки ничего не будет работать.
*

Aham

  • Новичок
  • 3
  • 0 / 0
Вся информация вбита и форма настроена. Не светить же мне своими данными здесь?! Мне нужна конкретная помощь в решении моего вопроса. Если с моей стороны потребуется финансовая благодарность, она последует.   
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Вся информация вбита и форма настроена. Не светить же мне своими данными здесь?! Мне нужна конкретная помощь в решении моего вопроса. Если с моей стороны потребуется финансовая благодарность, она последует.   

Хорошо. Напишите мне в личку свой вотсап или скайп. Подключусь и в режиме демонстрации посмотрю, что у вас там.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Валидация формы с загрузкой файлов на сервер

Автор kuliev

Ответов: 4
Просмотров: 777
Последний ответ 17.01.2025, 14:38:44
от kuliev
Тип поля формы Select sql, как заполнить его через функцию php?

Автор GuDeVic

Ответов: 13
Просмотров: 1395
Последний ответ 07.10.2022, 12:25:45
от fsv
Прием заявок через форму обратной связи

Автор timssky

Ответов: 6
Просмотров: 818
Последний ответ 02.06.2022, 17:33:52
от marksetter
jQuery. Передать значение в поле формы Битрикс24

Автор fbr

Ответов: 40
Просмотров: 2445
Последний ответ 21.11.2021, 12:05:18
от gartes
Не срабатывает плагин PDF Embed v2.3.0 + J3.9.28+php7.2

Автор jukov_b1

Ответов: 5
Просмотров: 1555
Последний ответ 17.07.2021, 11:12:59
от arma