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

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Добрый день, у меня есть такая маленькая проблема размеров в ЛОГО.
После обновление Joomla на версию 3.8.12 у меня получился просто белый сайт, поэтому я начал отключать модули и узнал что модуль ЛОГО у меня вызывает ошибку PHP Fatal error:  Call to a member function get() on null in
/webroot/templates/bootstrap/html/mod_menu/logo.php on line 42
Вот что находится в файле logo.php
Спойлер
[свернуть]
И тут вопрос, что с этим делать, отключаю модуль всё работает нормально?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Перед 32 строки добавь
Код: php
echo '<pre>';
print_r($menu_item);
echo '</pre>';
exit;
Что будет на странице?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Перед 32 строки добавь
Код: php
echo '<pre>';
print_r($menu_item);
echo '</pre>';
exit;
Что будет на странице?
Вот что появилось после добавления.
Спойлер
[свернуть]
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
А ты уверен что это ошибка появилась после обновления Joomla?
В переменной $menu_item нет даже массива params. Так при чем здесь Joomla!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
А ты уверен что это ошибка появилась после обновления Joomla?
В переменной $menu_item нет даже массива params. Так при чем здесь Joomla!
Да уверен, потому что до обновления всё работало, после перестало.
Делаю откат и всё работает, ставлю обнову и всё опять гаснет, так что определённо обнова.
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Есть идеи для решения этой проблемы ?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Код: php
echo '<pre>';
print_r($menu_item);
echo '</pre>';
exit;
Выполни код до и после обновления. В чем их разница?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Код: php
echo '<pre>';
print_r($menu_item);
echo '</pre>';
exit;
Выполни код до и после обновления. В чем их разница?
После обновления скидывал выше, до обновления не реагирует на код вообще никак.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
После обновления скидывал выше, до обновления не реагирует на код вообще никак.
Это все равно надо сделать. Надо знать что содержится в переменной $menu_item
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
После обновления я вставляю ваш код и получаю,
Код
ttjoomla\content\menu\ItemArticle Object
(
    [j_microdata:ttjoomla\models\Item:private] =>
    [jregistry:ttjoomla\helpers\Registry:private] => Joomla\Registry\Registry Object
        (
            [data:protected] => stdClass Object
                (
                    [id] => 101
                    [menutype] => main-menu
                    [title] => Domovská stránka
                    [alias] => homepage
                    [note] =>
                    [route] => homepage
                    [link] => index.php?option=com_content&view=article&id=13
                    [type] => component
                    [level] => 1
                    [language] => cs-CZ
                    [browserNav] => 0
                    [access] => 1
                    [home] => 1
                    [img] => 
                    [template_style_id] => 0
                    [component_id] => 22
                    [parent_id] => 1
                    [component] => com_content
                    [tree] => Array
                        (
                            [0] => 101
                        )

                    [query] => ttjoomla\helpers\Registry Object
                        (
                            [jregistry:ttjoomla\helpers\Registry:private] => Joomla\Registry\Registry Object
                                (
                                    [data:protected] => stdClass Object
                                        (
                                            [option] => com_content
                                            [view] => article
                                            [id] => 13
                                        )

                                    [initialized:protected] => 1
                                    [separator] => .
                                )

                        )

                    [url] => /
                    [html_id] => menu-item-101
                )

            [initialized:protected] => 1
            [separator] => .
        )

)
До обновления вставляю ваш код и ничего не происходит, сайт работает как и работал.
Просто не реагирует на данный код, консоль тоже пуста, логи так же.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Скинь файл logo.php без правок. Такой какой он был в архиве!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
До обновы
Код
<?php
defined('_JEXEC') or die;

JLoader::registerNamespace('ttjoomla', JPATH_LIBRARIES);

use ttjoomla\menu\Module;

$module = new Module($module, $params, $attribs, $list, $base);
$menu_item = $module->getItemBase();

$link["tag"] = "span";
$link['attrs'] = [];
$link['url'] = $menu_item->flink;
$link['uri'] = JUri::getInstance($link['url']);
if ($link['uri']->getHost() === null) {
    $link['url'] = str_replace('///', '/', \JUri::base().'/'. $link['url']);
}
if (!empty($link['url'])) {
    $link["tag"] = "a";
    $link['attrs']['href'] = 'href="'. $link['url'] .'"';
}
echo '<pre>';
print_r($menu_item);
echo '</pre>';
exit;
$link["open_tag"] = $link['tag'] .' '. join(' ', $link['attrs']);
       
$image = [];
$image['url'] = $menu_item->params['menu_image'];
$image['uri'] = \JUri::getInstance($image['url']);
if ($image['uri']->getHost() === null) {
    $image['url'] = \JUri::base().'/'. $image['url'];
}

$title = [];
$title['text'] = $menu_item->params->get('page_heading', $menu_item->title);
$title['tag'] = $module->params['header_tag'];

$subtitle = [];
$subtitle['text'] = $menu_item->params['menu-anchor_title'];


/*
if ($menu_item instanceof MenuItemAlias) {
    $alias_ref_item =  $menu_item->getRefItem();
   
    empty($logo_layout->getParams()->title_text) && $logo_layout->getParams()->title_text = $alias_ref_item->params['page_heading'];
    empty($logo_layout->getParams()->subtitle_text) && $logo_layout->getParams()->subtitle_text = $alias_ref_item->params['menu-anchor_title'];
}
*/
?>

<article id="<?php echo $module->html_id ?>"
    class="<?php echo trim('logo '. join(' ', $module->params['moduleclass_sfx']))?>">
    <header class="clearfix">
        <?php if ($image['url']): ?>
            <div class="logo-image pull-left">
                <<?php echo $link["open_tag"] ?>>
                    <img class="img-responsive" src="<?php echo $image['url'] ?>">
                </<?php echo $link["tag"] ?>>
            </div>
        <?php endif; ?>
        <?php if (!empty($title['text'])): ?>
            <<?php echo $title['tag'] ?> class="<?php echo trim('logo-title '. join(' ', $module->params['header_class']))?>">
                <<?php echo $link["open_tag"] ?>>
                    <?php echo $title['text'] ?>
                </<?php echo $link["tag"] ?>>
            </<?php echo $title['tag'] ?>>
        <?php endif; ?>
    </header>
    <?php if ($subtitle['text']): ?>
    <div class="logo-subtitle">
        <?php echo $subtitle['text']; ?>
    </div>
    <?php endif; ?>
</article>
После обновы
Код
<?php
defined('_JEXEC') or die;

JLoader::registerNamespace('ttjoomla', JPATH_LIBRARIES);

use ttjoomla\menu\Module;

$module = new Module($module, $params, $attribs, $list, $base);
$menu_item = $module->getItemBase();

$link["tag"] = "span";
$link['attrs'] = [];
$link['url'] = $menu_item->flink;
$link['uri'] = JUri::getInstance($link['url']);
if ($link['uri']->getHost() === null) {
    $link['url'] = str_replace('///', '/', \JUri::base().'/'. $link['url']);
}
if (!empty($link['url'])) {
    $link["tag"] = "a";
    $link['attrs']['href'] = 'href="'. $link['url'] .'"';
}
echo '<pre>';
print_r($menu_item);
echo '</pre>';
exit;
$link["open_tag"] = $link['tag'] .' '. join(' ', $link['attrs']);
       
$image = [];
$image['url'] = $menu_item->params['menu_image'];
$image['uri'] = \JUri::getInstance($image['url']);
if ($image['uri']->getHost() === null) {
    $image['url'] = \JUri::base().'/'. $image['url'];
}

$title = [];
$title['text'] = $menu_item->params->get('page_heading', $menu_item->title);
$title['tag'] = $module->params['header_tag'];

$subtitle = [];
$subtitle['text'] = $menu_item->params['menu-anchor_title'];


/*
if ($menu_item instanceof MenuItemAlias) {
    $alias_ref_item =  $menu_item->getRefItem();
   
    empty($logo_layout->getParams()->title_text) && $logo_layout->getParams()->title_text = $alias_ref_item->params['page_heading'];
    empty($logo_layout->getParams()->subtitle_text) && $logo_layout->getParams()->subtitle_text = $alias_ref_item->params['menu-anchor_title'];
}
*/
?>

<article id="<?php echo $module->html_id ?>"
    class="<?php echo trim('logo '. join(' ', $module->params['moduleclass_sfx']))?>">
    <header class="clearfix">
        <?php if ($image['url']): ?>
            <div class="logo-image pull-left">
                <<?php echo $link["open_tag"] ?>>
                    <img class="img-responsive" src="<?php echo $image['url'] ?>">
                </<?php echo $link["tag"] ?>>
            </div>
        <?php endif; ?>
        <?php if (!empty($title['text'])): ?>
            <<?php echo $title['tag'] ?> class="<?php echo trim('logo-title '. join(' ', $module->params['header_class']))?>">
                <<?php echo $link["open_tag"] ?>>
                    <?php echo $title['text'] ?>
                </<?php echo $link["tag"] ?>>
            </<?php echo $title['tag'] ?>>
        <?php endif; ?>
    </header>
    <?php if ($subtitle['text']): ?>
    <div class="logo-subtitle">
        <?php echo $subtitle['text']; ?>
    </div>
    <?php endif; ?>
</article>
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
42 строка что до что после обновления она пуста! Ну так в какой строке ошибка?
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
42 строка что до что после обновления она пуста! Ну так в какой строке ошибка?
Извиняюсь, до обновления выдаёт вот это
Спойлер
[свернуть]
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Извиняюсь, до обновления выдаёт вот это
Уже не суть важно. Все равно в объекте нет массива params.
Так можно только гадать!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
До обновы
Спойлер
[свернуть]
После обновы
Спойлер
[свернуть]
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Уже не суть важно. Все равно в объекте нет массива params.
Так можно только гадать!
Ещё скинул полностью файлы из сервера, какие могут быть решения  ?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Ещё скинул полностью файлы из сервера, какие могут быть решения  ?
Вот если бы ты знал PHP таких бы проблем не было.
Сделаю за 700 RUB.
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Вот если бы ты знал PHP таких бы проблем не было.
Сделаю за 700 RUB.
Без проблем бы заплатил, но у меня нету Яндекс денег, только оплата картой.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Без проблем бы заплатил, но у меня нету Яндекс денег, только оплата картой.
Там на карту тоже можно положить!
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

olikCZ

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Там на карту тоже можно положить!
Хорошо, как проходит сделка ?
И сколько это дело времени займёт ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Обновление Joomla 3.10 до 4

Автор Scaltro

Ответов: 0
Просмотров: 780
Последний ответ 19.09.2024, 18:32:39
от Scaltro
Сохранить не удалось из-за ошибки: Содержимое превышает допустимые лимиты

Автор R31rus

Ответов: 21
Просмотров: 4936
Последний ответ 27.03.2024, 16:46:13
от Gorilla
Обновление Joomla

Автор toxic_rain

Ответов: 1
Просмотров: 672
Последний ответ 17.03.2023, 12:56:01
от marksetter
jos-Error: Материал не найден вместо 404 ошибки

Автор bugmenot

Ответов: 4
Просмотров: 1279
Последний ответ 10.01.2023, 11:32:11
от Mick_20
Ошибки при переходе на PHP 8.2

Автор Dram

Ответов: 6
Просмотров: 1375
Последний ответ 30.12.2022, 13:44:32
от Dram