После обновления Joomla 2.5.28 до версии Joomla 3.3.6 я получил ошибку Fatal error: Call to a member function getTag() on a non-object. Ошибка была на всех обновленных сайтах.

Ошибку Fatal error: Call to a member function getTag() on a non-object in /var/…/libraries/cms/application/site.php on line 335 я получал на всех сайтах после обновления с версии 2.5.28 до 3.3.6. Ошибка относится к фатальным, однако сайт из-за неё не «падает», а отражается только белая страница. Но обо всем по порядку.

Проявление ошибки Fatal error: Call to a member function getTag() on a non-object in /var/…/libraries/cms/application/site.php on line

Ошибка Fatal error: Call to a member function getTag() on a non-object in /var/…/libraries/cms/application/site.php on line 335 проявляется следующим образом.

Сайт после автоматического обновления работает, в фронтэнде все нормально. Однако, в бэкенде при любой попытке редактирования, будь то статья или категория, «выскакивает» белая страница.

Причину ошибки можно посмотреть в журнале log.errors на сервере хостинга. Но можно не «ходить» на сервер, а в административной панели сайта на вкладке Общие настройки→Сервер , включить показ ошибок «Максимальный».

Итак, мы поняли, что наша ошибка: Ошибка Fatal error: Call to a member function getTag() on a non-object in /var/…/libraries/cms/application/site.php on line 335.

Исправляем ошибку

Откройте файл, который показан в ошибке, а это файл libraries/cms/application/site.php, откроем его в текстовом редакторе, например, Notepad++.

Ищем строку указанную в ошибке.

// Get language
$lang_code = $this->getLanguage()->getTag();
$languages = JLanguageHelper::getLanguages('lang_code');

Исправляем на следующий код:

Должно быть

// Get language
			$lang_code = $tag = "en-US";
			$languages = JLanguageHelper::getLanguages('lang_code');

Сохраняем файл и закачиваем обратно на сайт в режиме перезаписи. На сайте очищаем кэш и пользуемся редактированием в административной панели на 100%.

ПримечаниеЭта ошибка появлялась на более ранних версиях, если забывали установить русский язык, языком по умолчанию, как для панели, так и для сайта. На версии 3.3.6. после автоматического обновления с 2.5.28, эта ошибка появляется не на всех сайтах(по крайней мере моих). Более того я видел её и на Joomla 3.8.2. но это другая история.

©Joomla-abc.ru

Другие ошибки

 

Похожие статьи

Критическая ошибка соединения с баз...
Критическая ошибка соединения с баз...
Критическая ошибка соединения с баз...

Критическая ошибка соединения с базой данных, DatabaseError.Невозможность с...

Ошибки в таблице сессий  базы данны...
Ошибки в таблице сессий базы данны...
Ошибки в таблице сессий базы данны...

Ошибки в таблице сессий базы данных или более правильно: jtablesession::Sto...

Copyright © 2023 Joomla-abc.ru. Все права защищены.