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

pretzel

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Всем привет,
появилась необходимость скрыть некоторые материалы (статьи) из блога категорий. Удалил пункты меню, которые ссылались на эти статьи, но в блоге категорий они все равно отображаются. Можно конечно перенести эти скрытые статьи в другую скрытую категорию, но хотелось бы не менять их положения в структуре сайта (не делать редирект).
Я так понимаю, что при выводе интро статей в категории надо добавить конструкцию if для фильтрации по id статьи: показывать ее или нет. Вопрос только где ее прописать?

*

Shustry

  • Гуру
  • 6434
  • 745 / 3
А не проще материалам ставить галку «избранное», кроме тех, которые не нужно показывать, а потом в опциях блога указать «только избранные»?
*

pretzel

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
ок, а где
Цитировать
потом в опциях блога указать «только избранные»
?
Обыскался, тоже думал так сделать первоначально но так и не нашел где это можно настроить.
*

pretzel

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
извините, ступил, нашел. спс
*

pretzel

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
нифига не работает так как надо. Дело в том, что в случае выбора в Menu manager-> Menu Item type=Featured Articles
1. пропадает текстовка категории
2. если имеется структура K1->K11->Featured Article, то даже при выборе для K1 - Menu Item type=Featured Articles, отображаются все материалы, а не только избранные
*

pretzel

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
какой файл отвечает за вывод материалов в блоге категорий?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
templates\шаблон\html\com_content\category\blog.php

Можно, например, через in_array исключить некоторые статьи. Если такого файла нет, то нужно скопировать из components\com_content\views\category\tmpl\
*

pretzel

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Я думаю, что будет проще если все нужные статьи пометить как избранные, а те которые необходимо скрыть будут просто статьями.
Тогда в templates\шаблон\html\com_content\category\blog.php надо добавить конструкцию
Код
<?php if ($article->featured == 0) : ?>
только не знаю в какое место
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Сервера под рукой нет, смотрю по-файлу blog.php. Здесь $this->lead_items, $this->intro_items и $this->link_items — это вывод элементов. Попробуйте написать var_dump ($this->lead_items[0]) и посмотрите, как обозначено там «избранное».
*

zeurminall

  • Новичок
  • 7
  • 0 / 0
извините, ступил, нашел. спс
Нашел - поделись где:) Такая же проблема, но найти не могу.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 269
Просмотров: 63380
Последний ответ 03.02.2022, 02:45:26
от globus812
Можно ли извлечь материалы из бэкапа?

Автор Cherr23

Ответов: 3
Просмотров: 2887
Последний ответ 14.12.2018, 07:09:04
от lexxbry
Появляются несуществующие ссылки несуществующих категорий с активными материалам

Автор hels

Ответов: 4
Просмотров: 1652
Последний ответ 29.09.2018, 15:18:21
от Efanych
Как скрыть модуль от мобильных устройств?

Автор shalunish

Ответов: 57
Просмотров: 23315
Последний ответ 19.09.2018, 14:21:59
от droncs46
Вывод блога из нескольких категорий

Автор GrandEscudo

Ответов: 7
Просмотров: 5641
Последний ответ 24.08.2018, 09:33:45
от vasmed