Fatal error: Call to a member function getLangId() on a non-object — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
Строка 25: Строка 25:
  
 
проверить существует ли страница с id, указанным третьим параметром, в нашем случае "3". Проще всего комментировать по очереди все вызовы макроса и обновлять страницу по ошибка не пропадет.
 
проверить существует ли страница с id, указанным третьим параметром, в нашем случае "3". Проще всего комментировать по очереди все вызовы макроса и обновлять страницу по ошибка не пропадет.
Когда проблемный вызов будет найден, просто проставьте третьим параметром id существующей страницы. Узнать что это за страница по её id можно с помощью протокола [http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/stranicy_protokol_upage/ Upage]
+
Когда проблемный вызов будет найден, просто проставьте третьим параметром id существующей страницы.  
  
 
'''Если рекомендации непонятны или не помогли - обращайтесь в [http://www.umi-cms.ru/support/ Службу Заботы].'''
 
'''Если рекомендации непонятны или не помогли - обращайтесь в [http://www.umi-cms.ru/support/ Службу Заботы].'''

Текущая версия на 07:56, 28 июня 2013

Актуально для версии 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 существующей страницы.

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