Здравствуйте. При обновлении PHP 7.0 на 7.3 появляется ошибка
Погуглив, наткнулся на этот форум, где разбирается похожая проблема
Попытавшись разобраться (а знания у меня околонулевые), понял, что у меня ситуация немного отличается. Включив режим отладки, обнаружил следующее
Using $this when not in object context
Call stack
# Function Location
1 () JROOT/libraries/src/Application/CMSApplication.php:370
2 Joomla\CMS\Application\CMSApplication::getMenu() JROOT/libraries/src/Application/SiteApplication.php:275
3 Joomla\CMS\Application\SiteApplication::getMenu() JROOT/components/com_xmap/router.php:96
4 XmapBuildRoute() JROOT/libraries/src/Component/Router/RouterLegacy.php:69
5 Joomla\CMS\Component\Router\RouterLegacy->build() JROOT/libraries/src/Router/SiteRouter.php:528
6 Joomla\CMS\Router\SiteRouter->buildSefRoute() JROOT/libraries/src/Router/SiteRouter.php:498
7 Joomla\CMS\Router\SiteRouter->_buildSefRoute() JROOT/libraries/src/Router/Router.php:281
8 Joomla\CMS\Router\Router->build() JROOT/libraries/src/Router/SiteRouter.php:154
9 Joomla\CMS\Router\SiteRouter->build() JROOT/libraries/src/Router/Route.php:144
10 Joomla\CMS\Router\Route::link() JROOT/libraries/src/Router/Route.php:93
11 Joomla\CMS\Router\Route::_() JROOT/modules/mod_menu/helper.php:139
12 ModMenuHelper::getList() JROOT/modules/mod_menu/mod_menu.php:15
13 include() JROOT/plugins/system/t3/includes/joomla4/ModuleHelper.php:201
14 Joomla\CMS\Helper\ModuleHelper::renderModule() JROOT/libraries/src/Document/Renderer/Html/ModuleRenderer.php:98
15 Joomla\CMS\Document\Renderer\Html\ModuleRenderer->render() JROOT/libraries/src/Document/Renderer/Html/ModulesRenderer.php:47
16 Joomla\CMS\Document\Renderer\Html\ModulesRenderer->render() JROOT/libraries/src/Document/HtmlDocument.php:491
17 Joomla\CMS\Document\HtmlDocument->getBuffer() JROOT/libraries/src/Document/HtmlDocument.php:783
18 Joomla\CMS\Document\HtmlDocument->_renderTemplate() JROOT/libraries/src/Document/HtmlDocument.php:557
19 Joomla\CMS\Document\HtmlDocument->render() JROOT/libraries/src/Application/CMSApplication.php:1044
20 Joomla\CMS\Application\CMSApplication->render() JROOT/libraries/src/Application/SiteApplication.php:778
21 Joomla\CMS\Application\SiteApplication->render() JROOT/libraries/src/Application/CMSApplication.php:202
22 Joomla\CMS\Application\CMSApplication->execute() JROOT/index.php:49
Насколько я смог понять, проблема в плагине T3, но поковырявшись в ModuleHelper.php я не обнаружил типичной ошибки &JSite::getMenu();
Если я правильно понимаю, ошибка содержится конкретно тут:
// no direct access
defined('_JEXEC') or die;
//check if t3 plugin is existed
if (!defined('T3')) {
if (JError::$legacy) {
JError::setErrorHandling(E_ERROR, 'die');
JError::raiseError(500, JText::_('T3_MISSING_T3_PLUGIN'));
exit;
} else {
throw new Exception(JText::_('T3_MISSING_T3_PLUGIN'), 500);
}
}
[b]$t3app = T3::getApp($this);[/b]
// get configured layout
$layout = $t3app->getLayout();
$t3app->loadLayout($layout);
(файл index.php в шаблоне)
Но не могу понять каким образом это можно исправить. Кто-нибудь может подсказать в чем причина и как это исправить?