Системные ошибки CMS Joomla

Fatal error: Call to a member function getTag() on a non-object in /var/…/libraries/cms/application/site.php on line

После обновления 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++.

Ищем 335 строку.

// 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-abc.ru

Компонент Sh404