Joomla ошибка Using $this when not in object context

После перехода на версию PHP новее 7.1 появляется ошибка, белый экран с текстом ошибки Using $this when not in object context Это происходит из-за того, что в шаблоне используются устаревшие переменные старого…

Материал из архива старого сайта

Текст сохранён при переносе с Joomla. Технические рекомендации и внешние ссылки могли устареть — проверяй их перед применением.

После перехода на версию PHP новее 7.1 появляется ошибка, белый экран с текстом ошибки

Using $this when not in object context

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

$menu = &JSite::getMenu();

заменить на

$menu = JFactory::getApplication()->getMenu();

Пример для чего нужен данный код:
Это подгрузка внешнего файла (например с самописным слайдером) в шаблон только для главной страницы сайта:

<?php $menu = JFactory::getApplication()->getMenu();

if ($menu->getActive() == $menu->getDefault()) {?>

[контент]

<?php } ?>

Позвонить WhatsApp Заявка