Fatal error: Uncaught Error: Call to a member function getName() on string in... Как убрать ошибку?

ЕСТЬ РЕШЕНИЕ InstantCMS 2.X
#1 10 ноября 2023 в 16:23

 Нужна помощь! v.2.16.0. Что-то уже сам не могу разобраться… С такими ошибками не сталкивался… В общем настраиваю дочерний шаблон (myshablon) и заметил что стр. /admin/settings/theme/myshablon не работает, вот такую ошибку выдает на белом фоне:

Fatal error: Uncaught Error: Call to a member function getName() on string in /home/tutlinks/mysite.com/system/core/template.php:2434 Stack trace: #0 /home/tutlinks/mysite.com/templates/admincoreui/controllers/admin/settings_theme.tpl.php(38): cmsTemplate->renderForm('\xD0\x92 \xD1\x84\xD0\xB0\xD0\xB9\xD0\xBB\xD1\x96 /...', Array, Array, false) #1 /home/tutlinks/mysite.com/system/core/template.php(2304): include('/home/uefigvtb/...') #2 /home/tutlinks/mysite.com/system/core/template.php(2259): cmsTemplate->processRender('/home/uefigvtb/...', Array, Object(cmsRequest), true) #3 /home/tutlinks/mysite.com/system/controllers/admin/actions/settings_theme.php(97): cmsTemplate->render('/home/uefigvtb/...', Array) #4 /home/tutlinks/mysite.com/system/core/controller.php(637): actionAdminSettingsTheme->run('uinst') #5 /home/tutlinks/mysite.com/system/core/action.php(46): cmsController->runExternalAction('settings_theme', Array) #6 /home/tutlinks/mysite in /home/tutlinks/mysite.com/system/core/template.php on line 2434


а, например эта стр. работает /admin/settings/theme/myshablon/icon_list. Пробовал убрать ошибку разными методами, но не выходит. До обновления работало, ну на 2.15.0 точно было все нормально. Нужны идеи, что и где нужно поправить?  

#2 11 ноября 2023 в 14:19

Пишите разрабам

#3 11 ноября 2023 в 15:01

Попробовать обновить события в админке, возможно ваша форма чьим-то хуком презатирается в строку из объекта. Можно попробовать отключать все сторонние компоненты поочереди. Можно ещё презалить файлы шаблона.

#4 29 ноября 2023 в 20:50

Спасибо за ответы с советами! Но на сайте не было и пока нет сторонних компонентов и файлы шаблона перезаливал — не помогало. В событиях, там нечего было обновлять.

Но! Спустя месяц поиска причины указанной в первом сообщении этой темы ошибки, удалось вычислить файл который вызвал эту ошибку, проверяя указанную в ошибке цепочку ошибок. Как оказалось, эта ошибка была у меня и на версии 2.15.2, эту версию я развернул с бекапа и на этой версии продолжил поиски. В итоге, проблема была в файле моего дочернего шаблона, в файле options.form, там не было заменено название в классе formModernTemplateOptions на название моего шаблона — где нужно менять название шаблона Modern на свой дочерний, заменил и ошибка ушла, страница полностью открылась и работает.

(Да, про статью instantcms.ru/blogs/horoshie-mysli/kak-ne-poterjat-pravki-v-shablone-delaem-dochernii-shablon-4549.html знаю
и по ней делал дочерний шаблон. Там об этом есть… Задумался… Изначально в моем шаблоне этого файла не было, а потом при обновлении движка или при перезаливке шаблона, тогда как раз этот файл и перекачивал с папки шаблона Modern.)

Далее заменил название класса и на рабочем сайте, на версии 2.16.0 и мне выдало опять ошибку, но уже новую:

Fatal error: Uncaught Error: Undefined constant «LANG_MODERN_C_WHITE» in /home/tutlinks/mysite.com/templates/mydosherniyshablon/options.form.php:13 и далее цепочка ошибок...

То есть, проблема с определением константы LANG_MODERN_C_WHITE и остальными по списку. Решил обновиться на тестовом сайте с 2.15.2 на 2.16.0 — там все ОК, такой ошибки нет. Все идеально. Почему у меня на рабочем сайте так, разбираться еще месяц не захотел и просто решил скопировать все файлы с тестового сайта на рабочий. Ошибка ушла. Но почему-то появилось пару ошибок связанные с отображением, а точнее не отображением виджета
«сайт не работает — исправил заполнением шаблона колонки, там было пусто (интересно что  до этого „обновления (замены всех файлов)“ ошибки указывающей на некорректное отображение виджета не было)

На этом все, проблема решена. Проверил, кажется все работает теперь как нужно и без ошибок. 

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.