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

Olg

  • Завсегдатай
  • 1181
  • 90 / 2
Joomla! 3.9.25
В Media -> Options прописаны
1) в "Legal Image Extensions (File Types)" -- svg
2) в "Legal Extensions (File Types)" -- svg
3) в "Legal MIME Types" -- image/svg+xml
Итог: во фронте в статьях svg показыаются, а в баннерах -- нет.
Вопрос: где ещё накуролесить, чтобы можно было использоавть svg в баннерах?
*

Olg

  • Завсегдатай
  • 1181
  • 90 / 2
Re: Как использовать в баннере svg?
« Ответ #1 : 22.03.2021, 17:45:07 »
Частично отвечу на свой вопрос.
Безобразия происходят от файла components\com_banners\helpers\banner.php: там  строке 30 написано
Код
return preg_match('#\.(?:bmp|gif|jpe?g|png)$#i', $url);
Стоит добавить в строку svg
Код
return preg_match('#\.(?:bmp|gif|jpe?g|png|svg)$#i', $url);
и всё работает.
Возникает естественный вопрос: как сделать то же самое, но не трогая системные файлы? В шаблоне переопределения для компонента баннеров не предусмотрено.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как использовать в баннере svg?
« Ответ #2 : 22.03.2021, 20:34:48 »
если имя файла можно руками править, то пиши везде bmp расширение, а на выводе заменяй на svg, благо в реале никто в здравом уме bmp не повесит на баннер )
*

Olg

  • Завсегдатай
  • 1181
  • 90 / 2
Re: Как использовать в баннере svg?
« Ответ #3 : 22.03.2021, 21:25:27 »
Можно, конечно, и так. Для этого нужен плагин (скорее всего). При этом ещё и расширение файлов менять надо -- что совсем нехорошо.
Кто-нибудь знает: почему у команды разработчиков такая нелюбовь к svg? Или это просто наследие старых версий Joomla! -- если судить по коду хелпера и независимости установок картинок для статей и для баннеров?
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как использовать в баннере svg?
« Ответ #4 : 22.03.2021, 22:40:38 »
дык старая же система. они в то время боялись svg, как потенциально таящего в себе опасности.
перебдели, короче.
делай подмену расширения в модуле вывода, чтобы по всей странице не шерстить.
*

Olg

  • Завсегдатай
  • 1181
  • 90 / 2
Re: Как использовать в баннере svg?
« Ответ #5 : 23.03.2021, 07:55:34 »
делай подмену расширения в модуле вывода
Для меня это не вариант по двум причинам:
1) с написанием плагинов никак;
2) и самое главное -- те же файлы svg могут использоваться в статьях и если менять у них расширение, то надо создавать дубли файлов для статей.
Придётся жить с исправленным файлом banner.php...
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как использовать в баннере svg?
« Ответ #6 : 23.03.2021, 08:56:16 »
не, я не у файла расширения менять предлагал, а переименовывать строку с путем.
типа выбрал svg, а в поле поменял ему расширение на bmp

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

Как использовать карты svg в Joomla?

Автор chen

Ответов: 3
Просмотров: 1423
Последний ответ 24.10.2022, 00:16:50
от gartes
Русская капча. Какую теперь использовать капчу вместо ре-капчи?

Автор natashalina

Ответов: 5
Просмотров: 1573
Последний ответ 26.03.2022, 13:12:28
от Helios
Как использовать CSS-спрайты?

Автор Elimelech

Ответов: 6
Просмотров: 785
Последний ответ 23.03.2020, 09:23:25
от beliyadm
Использовать class shopFunction в другом файле

Автор lara064

Ответов: 0
Просмотров: 573
Последний ответ 14.06.2019, 11:43:49
от lara064
Какой использовать календарь событий?

Автор manexat

Ответов: 6
Просмотров: 945
Последний ответ 30.11.2018, 18:03:09
от lexxbry