Fatal error: Call to a member function getLangId() on a non-object

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 2.9

Симптомы

При переходе на сайт, или на какую-либо страницу Вы видите белый экран с надписью

Fatal error: Call to a member function getLangId() on a non-object in /.../www/classes/modules/content/class.php on line 333

Причина

Такая ошибка возникает когда в макрос %content menu()% третьим параметром "root_element_id", указывающим id страницы, от которой отсчитывается меню, передан идентификатор (id) несуществующей страницы или страницы, на просмотр которой у пользователя, которым Вы в данный момент являетесь, нет прав.

Решение

Вам необходимо найти шаблон данной страницы, используемые на сайте шаблоны можно посмотреть в настройках модуля "Структура".

И во всех вызовах макроса %content menu('template_name','1','3')%, которые в xslt имеют следующий вид:

select="document('udata://content/menu/(null)/1/3')"

проверить существует ли страница с id, указанным третьим параметром, в нашем случае "3". Проще всего комментировать по очереди все вызовы макроса и обновлять страницу по ошибка не пропадет. Когда проблемный вызов будет найден, просто проставьте третьим параметром id существующей страницы.

Если рекомендации непонятны или не помогли - обращайтесь в Службу Заботы.