Fatal error: Using $this when not in object context in

TO
На сайте с 02.03.2016
Offline
9
3764

Приветствую всех!

После установке модуля для новой версии CMS Joomla появилась ошибка:

Fatal error: Using $this when not in object context in Z:\home\1.ru\www\libraries\cms\plugin\plugin.php on line 142

На старой версии Joomla ошибок в модуле нет.

Просьба подсказать, как можно устранить данную ошибку?

danforth
На сайте с 18.12.2015
Offline
153
#1

Псевдопеременная $this используется не в контексте класса. Проверьте файл в строчке plugin.php на 142 линии.

Без содержимого файла трудно о чем-то говорить.

Junior Web Developer
TO
На сайте с 02.03.2016
Offline
9
#2
danforth:
Псевдопеременная $this используется не в контексте класса. Проверьте файл в строчке plugin.php на 142 линии.

Без содержимого файла трудно о чем-то говорить.

Файл plugin.php это стандартный файл CMS Joomla. В старой версии Joomla такого файла нет.

Если данный файл как-то править, то может что-то нарушится в системе, по-моему нужно править код файла самого модуля,

который сторонний и устанавливается отдельно и он то и вызывает ошибку, т.к., если файл от модуля отключить, то ошибка пропадает.

Часть кода plugin.php:

	/**

* Loads the plugin language file
*
* @param string $extension The extension for which a language file should be loaded
* @param string $basePath The basepath to use
*
* @return boolean True, if the file has successfully loaded.
*
* @since 1.5
*/
public function loadLanguage($extension = '', $basePath = JPATH_ADMINISTRATOR)
{
if (empty($extension))
{
$extension = 'Plg_' . $this->_type . '_' . $this->_name;
}

$lang = JFactory::getLanguage();

return $lang->load(strtolower($extension), $basePath, null, false, true)
|| $lang->load(strtolower($extension), JPATH_PLUGINS . '/' . $this->_type . '/' . $this->_name, null, false, true);
}
}

на 142 линии:

	}
только скобка, ну или 141 строка, что выше:

			|| $lang->load(strtolower($extension), JPATH_PLUGINS . '/' . $this->_type . '/' . $this->_name, null, false, true);
TO
На сайте с 02.03.2016
Offline
9
#3

Часть кода из модуля, который, если удалить, то ошибка пропадает и сам модуль конечно тоже не показывается.

JPlugin::loadLanguage( 'com_community', JPATH_ROOT );


$config = CFactory::getConfig();
$my =& JFactory::getUser();
$skin = $params->get('skin', 'tango');
$document= JFactory::getDocument();

CAssets::attach('assets/script-1.2' . (( $config->getBool('usepackedjavascript') ) ? '.pack.js' : '.js'), 'js');

$document->addScript(JURI::root() . "modules/mod_members/js/cookies.js");
$document->addScript(JURI::root() . "modules/mod_members/js/easing.js");
$document->addStyleSheet( rtrim( JURI::root() , '/' ) . "/modules/mod_members/skins/$skin/skin.css" );


if (!$params->get('is_installed'))
modMemberHelper::moduleReInstall($params);

Получается, что ошибка возникает из-за данного кода.

ДП
На сайте с 23.11.2009
Offline
203
#4

По кускам кода вряд ли что-то скажешь.

Ну и судя по другой вашей теме - что-то у вас там в джумле несовместимо. Вы для той версии плагин скачали?

TO
На сайте с 02.03.2016
Offline
9
#5
Дикий пионер:
По кускам кода вряд ли что-то скажешь.
Ну и судя по другой вашей теме - что-то у вас там в джумле несовместимо. Вы для той версии плагин скачали?

Нет модуль был для старой версии, но я этот модуль обновил и возникла данная ошибка.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий