Ошибка при удалении топика в секции "Весь эфир"

После удаления топика или блока в секции «Весь эфир» обазуется ошибка вида

Fatal error: Call to a member function getBlog() on a non-object in /var/www/mysite.com/templates/compiled/prestige/<много букв>.file.comment_list.tpl.php on line 48

эта строка содержит код
<?php $_smarty_tpl->tpl_vars["oBlog"] = new Smarty_variable($_smarty_tpl->tpl_vars['oTopic']->value->getBlog(), null, 0);?>


Отчего такое может происходить?

11 комментариев

avatar
Логично предположить, что Вы не сбросили кеш.
avatar
После сброса кеша создаётся вновь точно такой же файл и получается в итоге точно такая же ошибка. Если вы про удаление. И потом сброс кэша это прерогатива админа нна сервере, а что делать обычному пользователю? Удаление топиков не такая чтоб редкая процедура, что бы всякий раз после его удаления надо было звонить админу на предмет сброса.
avatar
У меня есть только одно предположение, что при удалении топиков не удаляются комментарии к нему, но вот почему это происходит понять трудно.
avatar
Чтобы не гадать используйте xdebug для поиска ошибки
  • ff00
  • 0
avatar
Ошибка вот и так видна, но надо то не найти место ошибки, а понать как её устранить.
avatar
Вобщем понятно этот косяк есть в системе сам по себе. Удаление блога блога приводит к такой ошибке если вв нём были посты. Комментарии при этом не удаляются из базы и к ним идёт обращение, после чего при попытке отобразить блог и топик возникает эта ошибка. Но устранить её невозможно и ибо это косяк фундаментальный который разработчики не исправляют видимо строго намеренно.
avatar
Устраняется легко в шаблоне. Делаете проверку на наличие объекта и если он есть, то выводите комментарии.
avatar
Устраняется легко и непринуждённо… Действительно всего лишь надо написать сотню строк кода, предварительно выучив как его писать. А по факту такая банальщина как удаление топиков блогов и комментариев оказывается не работает из коробки. Ни в каком шаблоне, то есть не так оно и просто правится. Если правится вообще. А то тут все такие мастера править, единственное, что после таких правок надо подавать в суд на взыскание обратно уплаченных денег ибо ничерта не работает да ещё поломано то, что ранее работало. К тому же никто не умеет писать код работающий сам по себе, а им надо обязательно дать админку и что бы они там подгоняли по месту дабы хоть что-то работало. Но мы то знаем, что если код требует для себя чего-то кроме стандартного пакета лайвстрита, то его автор просто ни о чём. Увы такие они все. Думаю вы не собирались предложить готовое решение, которое гарантировано заработает, без допиливания по месту.

Так что увы не легко это устраняется. Разработчикам стоило бы такие банальности как удлинение всего и вся таки сделать нормально.
avatar
Вы при установке какой движок в БД использовали? Удаление комментариев после удаления топика реализовано средствами БД с помощью внешних ключей. В MyISAM оно не особо поддерживается.
avatar
страняется легко и непринуждённо… Действительно всего лишь надо написать сотню строк кода, предварительно выучив как его писать.
Вот не стоит выливать своё раздражение и желчь. Уточнили бы, что конкретно надо исправить, то вам бы подсказали, но оно вам похоже и не надо.
avatar
Подскажите пожалуйста поподробнее, как все-таки сделать проверку на наличие объекта и вывести комментарий? спасибо заранее!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.