Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
El Loco

Fatal error при изменении шаблонов

Recommended Posts

С недавнего времени стала возникать ошибка после изменения шаблонов.

До этого все было нормально.

Проблема: изменяю, к примеру, шаблон из группы 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
Share on other sites
Почему безобидное изменение шаблона приводит к фатальной ошибке?

Что вы посоветуете?

а что именно вы вписываете в шаблон, да и что делали с файлами самого движка, модификацию ставите какую-то?

версия ИПБ тоже не помешала бы

Share this post


Link to post
Share on other sites

Обычно подобные ошибки возникают сразу после установки стилей, но не после изменений.

Попробуйте перестроить кэш.

Насчет проверки ошибочности правки скина, есть простой способ - обращение к дефолту фрагмента, который меняли.

Если после снесения изменений проблем нет, значит дело в них.

Share this post


Link to post
Share on other sites

Тут еще хлеще.

Восстановился из бекапа. Фоурм опять работает.

Захожу в админку, запускаю перестройку кеша и опять вылетает фатал еррор)

Попробую файлы админки восстанивить. Я когда-то ставил с вашего форума стиль для админки от 2.2

Надо было не страдать ерундой. Кстати, стиль админцентра от 2.2 для 2.1, корорый у вас в архивах - не совсем корректно работал. Когда жмешь на кнопку "Компоненты", вылетала ошибка.

Я вроде бы восстановил файлы на старые, но есть подозрение, что может быть админка как-то портит шаблоны...

Попобую полностью перелазить папку skin_acp/IPB2_Standard

Если не выйдет ничего, придется апдейтиться до 2.2.

Может спасет.

Share this post


Link to post
Share on other sites
Надо было не страдать ерундой. Кстати, стиль админцентра от 2.2 для 2.1, корорый у вас в архивах - не совсем корректно работал. Когда жмешь на кнопку "Компоненты", вылетала ошибка.

Напишите об этом в теме поддержи мода.

Тогда другие будут предупреждены и автор, возможно, внесет исправления.

 

Никогда не балуюсь скинами админки, там и дефолтного стиля достаточно имхо.

Share this post


Link to post
Share on other sites
а что именно вы вписываете в шаблон, да и что делали с файлами самого движка, модификацию ставите какую-то?

версия ИПБ тоже не помешала бы

извините, не увидел ваш пост, поэтому не ответил сразу.

версия 217.

Утром поставил php2html. Работает без ошибок. Но если лезу в шаблоны и пытаюсь что-то изменить и сохранить, вылетает ошибка.

Моды стояли нормально. Глючить начало недавно. Все-таки подозрение на этот стиль админцентра.

что меняю? да хотя бы захожу в global_board_header и добавляю ссылочку в навигации. я больше чем уверен, что не делаю ничего ошибочного с кодом. там ошибиться трудно.

Share this post


Link to post
Share on other sites

админку полностью восстановил - не помогает. буду думать о переходе на 2.2

так вроде и ничего. жить можно. но выходит, что скин теперь не отредактировать.

Share this post


Link to post
Share on other sites

Кэш перестраивали?

Share this post


Link to post
Share on other sites

Да. Вылетает фатал еррор после перестройки.

Я писал выше про это.

В общем, сейчас восстановился последний раз, ибо надоело уже, и удалил полностью папку со скином админки, залил из дистрибутива дефолтный скин админцентра.

Все работает. Но если снова полезу в шаблоны, уверен, что опять вылезет эта бяка.

Хз, отчего это. Супорт сказал, это форум виноват. Так оно и есть. Только разобраться в чем дело трудно.

 

кстати, извиняюсь. кнопка "Компоненты" в стиле админцентра от 2.2 работает. там файла одного не хватало. так что беру слова назад насчет админки.

Share this post


Link to post
Share on other sites

Нашел частичное решение проблемы.

на ибресурсе.ру один человек писал вот что:

1. Сначала восстановите все попорченные файлы с классами cache/skin_cache/cacheid_2

2. Затем в sources/lib/admin_cache_functions.php найдите функцию _recache_templates

3. В этой функции должна быть строка типа $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
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...