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

Gerostrat

  • Захожу иногда
  • 374
  • 2 / 0
  • Свидетель чайной ложки
Что-то не удалось найти информацию о том, зачем вообще архивировать статьи и что это даёт.
Может кто-то может поделиться ссылкой на мануал?

Опытным путём определил, что "архивированные статьи" не отображаются на страницах меток и в категориях. Вероятно, также, они не будут отображаться в разных модулях, как последние материалы и популярные материалы. И, вероятно, в зависимости от компонента, не будут добавляться в карту сайта...

Ещё что-то?

И подскажите, пожалуйста, где в коде что можно подправить, чтобы статьям в архиве присваивалось "noindex, follow".
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Re: Архив статей – в чём суть?
« Ответ #1 : 14.03.2024, 14:29:53 »
Проведите еще один опыт. Архивные статьи, в отличие от удаленных, должны открываться по прямой ссылке, а не выдавать 404.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Gerostrat

  • Захожу иногда
  • 374
  • 2 / 0
  • Свидетель чайной ложки
Re: Архив статей – в чём суть?
« Ответ #2 : 14.03.2024, 19:08:18 »
Ну так и есть. Они работает под теми же ссылками. Просто найти их в категориях или на страницах меток нет возможмности. Я полагаю, что в этом суть и заключается.
Сделал проверку в шаблоне.

Код
$mainframe = JFactory::getApplication('site');
$articleId = JFactory::getApplication()->input->get('id', 0, 'INT');
if ($articleId) {
    $article = JTable::getInstance('content');
    $article->load($articleId);

    $status = $article->state;
}

И если статус равен 2, тогда добавляю
Код
<meta name="robots" content="noindex, follow">

Как-то так...
*

sivers

  • Живу я здесь
  • 2585
  • 359 / 0
Re: Архив статей – в чём суть?
« Ответ #3 : 14.03.2024, 21:03:48 »
Верно. Это сделано для того, чтоб ссылки, которые проиндексировались внешними сервисами и где-то там сохранились, продолжали работать. Но при этом на сайте уже показывать не надо, т.к. не актуально.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Массовый импорт статей из Excel в Joomla

Автор koskanalya

Ответов: 1
Просмотров: 756
Последний ответ 05.11.2022, 14:15:34
от antony2606
Не выводится список статей по меткам

Автор kysin

Ответов: 0
Просмотров: 559
Последний ответ 26.11.2021, 11:27:31
от kysin
Вопрос по роутеру: вложенность статей друг в друга

Автор effrit

Ответов: 6
Просмотров: 805
Последний ответ 30.09.2021, 10:17:15
от sivers
Права на публикацию статей

Автор stepan39

Ответов: 0
Просмотров: 597
Последний ответ 20.03.2021, 16:33:16
от stepan39
Открытие статей в модальном окне

Автор Vap

Ответов: 4
Просмотров: 1006
Последний ответ 17.03.2021, 06:22:08
от Vap