Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
El Loco

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

Рекомендованные сообщения

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

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

Проблема: изменяю, к примеру, шаблон из группы 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/). Тоже не помогает.

Выручает лишь восстановление бекапа файлов из админки хостера.

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

Может кто-то сталкивался с этой проблемой?

Почему безобидное изменение шаблона приводит к фатальной ошибке?

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

Поделиться сообщением


Ссылка на сообщение
Почему безобидное изменение шаблона приводит к фатальной ошибке?

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

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

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

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

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

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

Поделиться сообщением


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

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

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

 

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

Поделиться сообщением


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

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

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

версия 217.

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

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

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

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

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

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>

Вставил, сохранил. Все по-прежнему при просмотре топика.

Даже кеш перестроил. Не помогает. Засада какая-то.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...