El Loco 0 04/03/2007 07:43 AM С недавнего времени стала возникать ошибка после изменения шаблонов.До этого все было нормально.Проблема: изменяю, к примеру, шаблон из группы topic view или любой другой, после чего вылетает ошибка:Fatal error: Cannot instantiate non-existent class: skin_global_7 /public_html/forum/sources/ipsclass.php on line 1364 В файле ipsclass.php никаких ошибочных изменений я не делал. А по указанной строке 1364 идет код://----------------------------------------- // Simply require and return //----------------------------------------- if ( $name != 'skin_global') { if ( ! in_array( $skin_global_name, $this->loaded_templates ) ) { require_once( CACHE_PATH."cache/skin_cache/cacheid_".$id."/skin_global.php" ); $this->compiled_templates['skin_global'] = new $skin_global_name(); $this->compiled_templates['skin_global']->ipsclass =& $this; # Add to loaded templates $this->loaded_templates[ $skin_global_name ] = $skin_global_name; } Строка с ошибкой выделена красным.Я более чем уверен, что я не делаю ошибочных изменений в файле или шаблоне.Пробовал перед изменением шаблонов бекапить файл ipsclass.php - бесполезно.На ибресурсе.ру писали, что надо бекапить файлы скина (/cashe_7/). Тоже не помогает.Выручает лишь восстановление бекапа файлов из админки хостера. Но это конечно же меня не устраивает, т.к. мне нужно изменять шаблоны, вносить что-то новое в скин... Может кто-то сталкивался с этой проблемой?Почему безобидное изменение шаблона приводит к фатальной ошибке?Что вы посоветуете? Share this post Link to post
Soi 0 04/03/2007 07:45 AM Почему безобидное изменение шаблона приводит к фатальной ошибке?Что вы посоветуете?а что именно вы вписываете в шаблон, да и что делали с файлами самого движка, модификацию ставите какую-то?версия ИПБ тоже не помешала бы Share this post Link to post
Fisana 700 04/03/2007 07:53 AM Обычно подобные ошибки возникают сразу после установки стилей, но не после изменений.Попробуйте перестроить кэш.Насчет проверки ошибочности правки скина, есть простой способ - обращение к дефолту фрагмента, который меняли.Если после снесения изменений проблем нет, значит дело в них. Share this post Link to post
El Loco 0 04/03/2007 08:24 AM Тут еще хлеще.Восстановился из бекапа. Фоурм опять работает.Захожу в админку, запускаю перестройку кеша и опять вылетает фатал еррор)Попробую файлы админки восстанивить. Я когда-то ставил с вашего форума стиль для админки от 2.2Надо было не страдать ерундой. Кстати, стиль админцентра от 2.2 для 2.1, корорый у вас в архивах - не совсем корректно работал. Когда жмешь на кнопку "Компоненты", вылетала ошибка.Я вроде бы восстановил файлы на старые, но есть подозрение, что может быть админка как-то портит шаблоны...Попобую полностью перелазить папку skin_acp/IPB2_StandardЕсли не выйдет ничего, придется апдейтиться до 2.2.Может спасет. Share this post Link to post
Fisana 700 04/03/2007 08:28 AM Надо было не страдать ерундой. Кстати, стиль админцентра от 2.2 для 2.1, корорый у вас в архивах - не совсем корректно работал. Когда жмешь на кнопку "Компоненты", вылетала ошибка.Напишите об этом в теме поддержи мода.Тогда другие будут предупреждены и автор, возможно, внесет исправления. Никогда не балуюсь скинами админки, там и дефолтного стиля достаточно имхо. Share this post Link to post
El Loco 0 04/03/2007 08:50 AM а что именно вы вписываете в шаблон, да и что делали с файлами самого движка, модификацию ставите какую-то?версия ИПБ тоже не помешала быизвините, не увидел ваш пост, поэтому не ответил сразу.версия 217.Утром поставил php2html. Работает без ошибок. Но если лезу в шаблоны и пытаюсь что-то изменить и сохранить, вылетает ошибка.Моды стояли нормально. Глючить начало недавно. Все-таки подозрение на этот стиль админцентра.что меняю? да хотя бы захожу в global_board_header и добавляю ссылочку в навигации. я больше чем уверен, что не делаю ничего ошибочного с кодом. там ошибиться трудно. Share this post Link to post
El Loco 0 04/03/2007 09:16 AM админку полностью восстановил - не помогает. буду думать о переходе на 2.2так вроде и ничего. жить можно. но выходит, что скин теперь не отредактировать. Share this post Link to post
El Loco 0 04/03/2007 09:40 AM Да. Вылетает фатал еррор после перестройки.Я писал выше про это.В общем, сейчас восстановился последний раз, ибо надоело уже, и удалил полностью папку со скином админки, залил из дистрибутива дефолтный скин админцентра. Все работает. Но если снова полезу в шаблоны, уверен, что опять вылезет эта бяка.Хз, отчего это. Супорт сказал, это форум виноват. Так оно и есть. Только разобраться в чем дело трудно. кстати, извиняюсь. кнопка "Компоненты" в стиле админцентра от 2.2 работает. там файла одного не хватало. так что беру слова назад насчет админки. Share this post Link to post
El Loco 0 04/04/2007 07:30 PM Нашел частичное решение проблемы.на ибресурсе.ру один человек писал вот что:1. Сначала восстановите все попорченные файлы с классами cache/skin_cache/cacheid_22. Затем в sources/lib/admin_cache_functions.php найдите функцию _recache_templates3. В этой функции должна быть строка типа $out = "class {$group['group_name']} {\n\n"; (у меня IPB 2.1.5 - это строка 180)4. Меняем эту строку на следующую $out = "class {$group['group_name']}_$id {\n\n"; Если посмотреть внимательно, то мы просто добавляем в строку конструкцию _$id, в итоге, при сохранении кэша шаблона получаем правильное имя класса типа skin_global_2 вместо неправильного skin_global. Вот так...После изменения шаблонов теперь фатальной ошибки нет.Но при просмотре я не вижу изменений, сделанных мной.В шаблоне topic_page_top после <!--IBF.FORUM_RULES--> <if="threaded == 0">я вставляю строку:<div align="center"><h2>{$data['TOPIC']['title']}</h2></div>Вставил, сохранил. Все по-прежнему при просмотре топика.Даже кеш перестроил. Не помогает. Засада какая-то. Share this post Link to post