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

Dmitriy-CoDy

  • Новичок
  • 7
  • 1 / 0
Иногда бывает необходимость подключить в материале какой-то внешний файл CSS, js, или просто добавить пару строк стилей или скрипта.

Никто не встречал плагина, который такие вставки перенесет из body в head?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
А что он делает в боди?
Все нормальные модули сразу добавляют в head.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Подключение стилей и скриптов через API Joomla

Вставлять по идее можно где угодно - выведется все равно в хейдере

Код: php
$document = JFactory::getDocument();
$document
   ->addStyleSheet('/templates/'.$this->template.'/css/template.css')
   ->addStyleSheet('/templates/'.$this->template.'/css/menu.css')
   ->addScript('/templates/'.$this->template.'/js/menu.js');

Только прописывать нужно в макете а не в теле материала.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Dmitriy-CoDy

  • Новичок
  • 7
  • 1 / 0
Со сторонними модулами и плагинами все понятно, там все пишется куда нужно.

Ситуация: хочу в теле материала оформить некоторые данные в виде закладок. Больше этого нигде не требуется.

Возможные решения:
  1. воткнуть стили и скрипты в шаблон в index.php
  2. подключить их прямо в материале

В первом варианте вместо подключения стилей и скриптов там, где они нужны, они будут таскаться "мертвым грузом" по всем страницам.
Во втором случае теги scrip и link будут в секции body. Работать это будет, но за такое нужно руки отрывать.

Я же хотел найти плаги, который сможет подключить в нужном месте, нужные скрипты и стили: и верстка валидной будет и лишние скрипты не будут подключаться там, где они не нужны.

Плагин банальный: найти в теле ответа коды подключения скриптов/стилей и подключить их в заголовке.
Код
.......
<div id="tabs">
<ul>
<li><a href="#tabs-1">Nunc tincidunt</a></li>
<li><a href="#tabs-2">Proin dolor</a></li>
<li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">
<p>Pr........cidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
</div>
<div id="tabs-2">
<p>Morbi ........rus.</p>
</div>
<div id="tabs-3">
<p>Mauris eleife.......drerit.</p>
</div>
</div>
[CSS src="style.css" media="all"]
[JS src="script.js"]
[JS] $(function() {$( "#tabs" ).tabs();});[/JS]
.......

Просто с жумлой сталкиваюсь крайне редко, своей подборки расширений на все случаи нет. На Joomla.org ничего подобного найти не удалось. "Изобретать заново велосипед" не хочется, думал на форуме поспрашивать, может есть у кого на примете подобное. Но похоже самому придется писать.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Во втором случае теги scrip и link будут в секции body. Работать это будет, но за такое нужно руки отрывать.
Откуда такая уверенность? Наоборот, иногда стараются убрать из <head></head> скрипты, которые не нужно грузить до отображения страницы, чтобы ускорить открытие последней.
Но похоже самому придется писать.
Тогда вы должны знать, что плагин тоже каждый раз грузится и забирает часть ресурсов. Тем более, он, скорее всего, будет работать с regexp.
Готовое решение при желании можно найти, я где-то уже видел.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Dmitriy-CoDy

  • Новичок
  • 7
  • 1 / 0
Цитировать
Откуда такая уверенность? Наоборот, иногда стараются убрать из <head></head> скрипты, которые не нужно грузить до отображения страницы, чтобы ускорить открытие последней.
В случае со скриптами - полностью согласен. Я только за "ненавязчивый JavaScript "

В моем случае в body присутствуют стили, которые должны быть только в секции head (для прохождения валидации html5) или загружать их туда скриптами.
Код
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>fsd</title>
</head>
<body>
    <div>
        <link media="all" type="text/css" href="/_/css/site.css" rel="stylesheet">
        <script src="/_/js/site.js"></script>
    </div>
</body>
</html>
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Dmitriy-CoDy то, что вы показали Неправильно
Так лучше будет
Код: html4strict
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>fsd</title>
<link media="all" type="text/css" href="/_/css/site.css" rel="stylesheet">
</head>
<body>
    <div></div>
<script src="/_/js/site.js"></script>
</body>
</html>
Цитировать
или загружать их туда скриптами
зачем это делать в вашем случае. неужели так много стилей, почему не засунуть в один файл все
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Теперь по теме. Можно так поступить.
1. Вставить в подключенный js или создать новый код
Код: javascript
window.onload = function(){
    var spanJs = document.querySelectorAll('span[data-loadjs]');
    function buildElement(eltype, data) {
        var el = document.createElement(eltype);
        for (var i in data) el[i] = data[i];
        return el;
    }
    function buildJs(arr) {
        for(var el, i= 0, len = arr.length; i < len; ++i ){
            el = buildElement('script', {src: arr[i]});
            document.body.appendChild(el);
            document.body.removeChild(el);
        }
    }
    for(var js, i= 0, len = spanJs.length; i < len; ++i ){
        if (js = spanJs[i].getAttribute("data-loadjs")) {
            js = js.replace(/\s+/g, '');
            buildJs(js.split(','));
        }
    }
};
2. В материале пишем подобно
Код: html4strict
<span data-loadjs="test.js, test2.js"></span>
<span data-loadjs="test.js"></span>
Как это работает. Скрипт при полной загрузке элементов ищет все спаны с атрибутом data-loadjs. Если такие есть то считывает с них значения(их может быть много, можно через запятую указывать) и соответственно создает элементы script вставляет их в документ. Скрипты загружаются и выполняются. Строка  document.body.removeChild(el); удаляет скрипт из разметки. В памяти же скрипт остается.
*

Dmitriy-CoDy

  • Новичок
  • 7
  • 1 / 0
Спасибо за идею.

По сути то, что я хотел сделать плагином Вы переложили на "плечи" js.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин "Русская типографика"

Автор Physicist

Ответов: 261
Просмотров: 153388
Последний ответ 13.03.2025, 20:06:50
от Olg
Мастерю плагин для админки - оплата налом или по карте при самовывозе

Автор kkmspb

Ответов: 0
Просмотров: 986
Последний ответ 27.08.2024, 15:39:37
от kkmspb
Плагин LVSpoiler - спойлеры с динамической загрузкой изображений

Автор Arkadiy

Ответов: 449
Просмотров: 99070
Последний ответ 20.04.2024, 21:10:33
от Beer
Плагин StopKids для маркировки сайта знаком 18+ для Joomla 1.5-3.x

Автор ecolora

Ответов: 40
Просмотров: 21706
Последний ответ 19.03.2023, 18:55:08
от ecolora
Компонент Commedia и плагин mp3browser для медиа-сайтов

Автор ecolora

Ответов: 557
Просмотров: 124794
Последний ответ 13.03.2023, 00:25:14
от ecolora