Новости Joomla

Загадочный параметр $live_site в configuration.php 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 можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида {YOUTUBE}...{/YOUTUBE}, {MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов {YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 4394 Просмотров
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
Часто постаёт задача разделить в дизайне пункты горизонтального меню вертикальной чертой. Соответственно, эта черта появляется также вначале или в конце меню (в зависимости от стилей или верстки). Как добавить условие в коде, чтоб к первому или последнему пункту задать свой класс или убрать знак вертикальной черты, кто подскажет? думаю, эта информация пригодится не только мне.
Вот, например, код модуля меню. Здесь к пункту меню пристыковывается слеш:
Код
function getMenu($menutype){
global $mainframe;
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
if(empty($menutype)){ $menutype="mainmenu"; }
$query = "SELECT * FROM #__menu WHERE published = '1' AND menutype = '". $menutype . "' AND parent = '0' ORDER BY 'ordering' ASC";
$db->setQuery( $query );
$rows = $db->loadObjectList();
$menu = "<ul>\n";
if ($rows) {
foreach ($rows as $row) {
if($user->get('aid', 0) >= $row->access){
$menu .= "<li><a href=\"". $row->link;
$type=$row->type;
if($type=="component"){
  $menu .= "&amp;Itemid=".$row->id;
}
$menu .= "\">". $row->name ."</a>" ." / " . "\n";
$menu .= MyMenu::getMenuChild(". $menutype . ",$row->id);
$menu .= "</li>\n";
}
}
}
$menu .= "</ul>\n";
return $menu;
}
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
Вот, например, условие, привязанное к id меню (этот пункт сейчас последний в списке). Но если id поменяется, - будет проблема:
Код
if($row->id != 10){
$menu .= "\">". $row->name ."</a> / \n";
}
else {
$menu .= "\">". $row->name ."</a>\n";
}
Неужели никто не может подсказать?
*

valitan

  • Новичок
  • 8
  • 0 / 0
Мне нужно тоже для Joomla 2.5, тоже ответа не нашел нигде пока...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 7911
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 3314
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 4823
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 23030
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 3558
Последний ответ 01.03.2019, 11:12:18
от vasmed