Fatal error: Call to a member function getLangId() on a non-object — различия между версиями
Mad grant (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
Строка 26: | Строка 26: | ||
проверить существует ли страница с id, указанным третьим параметром, в нашем случае "3". Проще всего комментировать по очереди все вызовы макроса и обновлять страницу по ошибка не пропадет. | проверить существует ли страница с id, указанным третьим параметром, в нашем случае "3". Проще всего комментировать по очереди все вызовы макроса и обновлять страницу по ошибка не пропадет. | ||
Когда проблемный вызов будет найден, просто проставьте третьим параметром id существующей страницы. Узнать что это за страница по её id можно с помощью протокола [http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/stranicy_protokol_upage/ Upage] | Когда проблемный вызов будет найден, просто проставьте третьим параметром id существующей страницы. Узнать что это за страница по её id можно с помощью протокола [http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/stranicy_protokol_upage/ Upage] | ||
+ | |||
+ | '''Если рекомендации непонятны или не помогли - обращайтесь в [http://www.umi-cms.ru/support/ Службу Заботы].''' |
Версия 15:29, 27 июня 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 существующей страницы. Узнать что это за страница по её id можно с помощью протокола Upage
Если рекомендации непонятны или не помогли - обращайтесь в Службу Заботы.