Fatal error: Call to a member function getLangId() on a non-object
Актуально для версии 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 существующей страницы.
Если рекомендации непонятны или не помогли - обращайтесь в Службу Заботы.