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

Не могу отредактировать шаблон появляется 500 ошибка

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

Здравствуйте.

По непонятной мне причине, я не могу отредактировать ни один шаблон через админку.

Когда вношу правку, сохраняю, все как обчыно, в админке все ок.

Но на сайте получается 500 ошибка. Спасает только замена папки skin_cache на оригинальную (у меня бекапы есть)

Я смотр по логам, где ошибка - показывает где, но там нет этой ошибки, ерунда какая-то оплучается.

Например вот:

[Tue Aug  7 00:57:10 2012] [error] PHP Parse error:  syntax error, unexpected T_STRING, expecting ']' in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_global.php on line 264

 

И еще, может быть это не связано, но в логах постоянно записываются вот такие вот ошибки:

[Tue Aug  7 08:25:58 2012] [error] PHP Warning:  sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_forum.php on line 664
[Tue Aug  7 08:25:58 2012] [error] PHP Warning:  sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_forum.php on line 664
[Tue Aug  7 08:25:58 2012] [error] PHP Warning:  sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_forum.php on line 309
[Tue Aug  7 08:26:03 2012] [error] PHP Warning:  sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_topic.php on line 1039

 

Права на папки стоят 777.

Очистку кеша шаблонов тоже не могу сделать.

С чего это началось - понятия не имею, всегда все редактировалось и правилось.

Чудеса какие-то.

 

Спасибо.

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


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

Вот строчки из skin_forum

(663-668)

<span class='desc lighter blend_links'>
		" . sprintf($data['starter'] ) . " <span itemprop=\"dateCreated\">" . $this->registry->getClass('class_localization')->getDate($data['start_date'],"DATE", 0) . "</span>
		" . ((isset($data['tags']) AND $data['tags']) ? ("
			  <img src='{$this->settings['img_url']}/icon_tag.png' /> {$data['tags']['formatted']['truncatedWithLinks']}
		") : ("")) . "
	</span>

 

300-318

<br class='clear' />	
<div id='forum_footer' class='statistics clear clearfix'>
	" . ((is_array( $mod_data ) AND count( $mod_data )) ? ("
		<div id='forum_led_by' class='right ipsType_small'>
			<img src='{$this->settings['img_url']}/icon_users.png' />  {$this->lang->words['forum_led_by']}
			".$this->__f__ec5f9ed184d6be52178cfff7ea383e97($forum_data,$announce_data,$topic_data,$other_data,$multi_mod_data,$sub_forum_data,$footer_filter,$active_user_data,$mod_data,$inforum)."			</div>
	") : ("")) . "
	" . ((is_array( $active_user_data ) AND count( $active_user_data )) ? ("<div id='forum_active_users' class='active_users stats_list'>
			<h4 class='statistics_head'>" . sprintf( $this->lang->words['active_users_titlef'], $active_user_data['stats']['total'] ) . "</h4>
			<p class='statistics_brief'>" . sprintf( $this->lang->words['active_users_detail'], $active_user_data['stats']['members'], $active_user_data['stats']['guests'], $active_user_data['stats']['anon'] ) . "</p>
			<br />
			<ul class='ipsList_inline'>
				" . ((is_array( $active_user_data['names'] ) AND count( $active_user_data['names'] )) ? ("
					" . implode( ', ', $active_user_data['names'] ) . "
				") : ("")) . "
			</ul>
		</div>") : ("")) . "	
</div>") : ("")) . "
<br class='clear' />

 

 

skin_topc 1035-1047

<!-- ACTIVE USERS -->
" . ((is_array( $displayData['active_users'] ) AND count( $displayData['active_users'] )) ? ("<div id='topic_stats' class='statistics clear clearfix'>
	<div id='topic_active_users' class='active_users'>
		<h4 class='statistics_head'>" . sprintf( $this->lang->words['active_users_title'], $displayData['active_users']['stats']['total'] ) . "</h4>
		<p class='statistics_brief desc'>" . sprintf( $this->lang->words['active_users_detail'], $displayData['active_users']['stats']['members'], $displayData['active_users']['stats']['guests'], $displayData['active_users']['stats']['anon'] ) . "</p>
		" . ((is_array( $displayData['active_users']['names'] ) AND count( $displayData['active_users']['names'] )) ? ("
			<br />
			<ul class='ipsList_inline'>
				" . implode( ', ', $displayData['active_users']['names'] ) . "
			</ul>
		") : ("")) . "
	</div>
</div>") : ("")) . "

 

skin_global (252_267)

<meta charset=\"{$this->settings['gb_char_set']}\" />
	<title>{$header_items['title']}</title>
	<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />
	<link rel=\"shortcut icon\" href='" . (($this->registry->output->isHTTPS) ? ("{$this->settings['board_url_https']}") : ("{$this->settings['board_url']}")) . "/favicon.ico' />
	<link rel=\"image_src\" href='{$this->settings['meta_imagesrc']}' />
	<script type='text/javascript'>
	//<![CDATA[
		jsDebug			= " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */
		USE_RTE			= 1;
		DISABLE_AJAX	= parseInt({$this->settings['disable_text_ajax']}); /* Disables ajax requests where text is sent to the DB; helpful for charset issues */
		inACP			= false;
		var isRTL		= false;
		var rtlIe		= '';
		var rtlFull		= '';
	//]]>
	</script>

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


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

Это мжоет быть как-то связано с тем, что я использую jquery (по правилам, конечно, через jQuery(''), а не $(""), чтобы не вызывать онфликтов)

Просто есть строчка, в skin_global:

jsDebug         = " . intval($this->settings['_jsDebug']) . "; /* Must come before JS includes */

У меня код до этой стройки идет.

Это вообще про это?

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


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

Здравствуйте.

По непонятной мне причине, я не могу отредактировать ни один шаблон через админку.

Когда вношу правку, сохраняю, все как обчыно, в админке все ок.

Но на сайте получается 500 ошибка. Спасает только замена папки skin_cache на оригинальную (у меня бекапы есть)

Я смотр по логам, где ошибка - показывает где, но там нет этой ошибки, ерунда какая-то оплучается.

Например вот:

[Tue Aug  7 00:57:10 2012] [error] PHP Parse error:  syntax error, unexpected T_STRING, expecting ']' in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_global.php on line 264

 

И еще, может быть это не связано, но в логах постоянно записываются вот такие вот ошибки:

[Tue Aug  7 08:25:58 2012] [error] PHP Warning:  sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_forum.php on line 664
[Tue Aug  7 08:25:58 2012] [error] PHP Warning:  sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_forum.php on line 664
[Tue Aug  7 08:25:58 2012] [error] PHP Warning:  sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_forum.php on line 309
[Tue Aug  7 08:26:03 2012] [error] PHP Warning:  sprintf() [<a href='function.sprintf'>function.sprintf</a>]: Too few arguments in /bhome/part3/03/sitepath/www/cache/skin_cache/cacheid_11/skin_topic.php on line 1039

 

Права на папки стоят 777.

Очистку кеша шаблонов тоже не могу сделать.

С чего это началось - понятия не имею, всегда все редактировалось и правилось.

Чудеса какие-то.

 

Спасибо.

 

в логах написано "Слишком мало аргументов" в имя_файла в номер_строки

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


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

То есть? Я не очень понимаю,что это может означать?

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


Ссылка на сообщение
о на сайте получается 500 ошибка. Спасает только замена папки skin_cache на оригинальную (у меня бекапы есть)

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

 

Где-то в шаблонах или хуках у вас ошибка. Когда вы наконец позволяете форуму записать кэши из базы - она проявляется, и вы получаете "ошибку 500". Без нахождения и исправления этой ошибки вы дальше не продвинетесь.

 

Начните с переключения на стандартный скин. На нем есть такая же ошибка?

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


Ссылка на сообщение
08/07/12 12:58 (изменено)

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

 

А вообще - как процесс происходит? Форум читайет файлы из базы или из кеша?

 

Вот когда я в админке открываю редактирование шаблона - он там откуда? Из базы или из кэша?

 

Спасибо.

Изменено пользователем SergeyC

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


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

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

 

Редактируя и манипулируя файлами в кэше, вы ничего не добьетесь, т.к. версия в базе не меняется, и при первой же правке/перестройке отредактированные файлы перекрываются вновь скомпилированной версией, построенной из базы. Причем перестройка вызывается не только вручную, но и установкой хуков и приложений, а так же изменением некоторых настроек в АЦ.

 

И если в шаблоне есть какая-то ошибка - с каждой перестройкой вы снова получаете свою "500". Пока не исправите ошибку в шаблоне - так и будет все висеть "на соплях".

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


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

Хорошо, спасибо, я понял.

Я просто хочу вот что понять: как мне искать ошибку? Она в базе данных или в том тексте, который мне в алминке показывается?

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


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

Она в том тексте который в админке показывается, который в свою очередь берется из базы данных.

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


Ссылка на сообщение
skin_global.php on line 264

Значит, ошибка в глобальных шаблонах. Возможно, даже в globalTemplate. Формат действий простой - копируйте все измененные шаблоны куда-то во временные текстовые файлы, затем откатываете все глобальные шаблоны. Ошибка должна пропасть.

 

1. Если не пропала - значит виноваты хуки, возвращаете правки назад, отключаете все хуки, и включаете назад по одному, пока не найдете проблемный.

 

2. Если пропала - возвращаете правки по одной, пока не получите 500. Начните с globalTemplate - вероятнее всего проблема в нем. Как найдете больной шаблон, снова откатите его к оригиналу, и заменяйте частями - и так пока не локализуете конкретную проблемную строку. Если сами не поймете, что с ней не так - кидайте сюда.

 

Долго, нудно, но если вы визуально не можете ошибку в логике шаблонов определить - это единственный остающийся способ.

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


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

Второй вариант - приаттачить skin_global.php, но только не из бекап-версии, как вы сделали выше, а из той версии, что дает ошибку 500, с текстом всех ошибок, что он создает. По названиям функций можно будет локализовать шаблоны и даже их фрагменты, а там и до нахождения ошибки недалеко :)

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


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

Спасибо за участие и за помощь.

Разобрался.

Сравнивал шаблон из базы данных с тем, что был в бекапе, и нашел ошибку. Самдурак в общем.

 

Теперь вопрос про лог файлы, которые с ошибками.

В поддержке сказали, что все ошибки, которые "sprintf()" связаны с языковыми файлами.

Но вот тут. например, где языковой файл? (вторая строчка (664 в логах) )

<span class='desc lighter blend_links'>
		" . sprintf($data['starter'] ) . " <span itemprop=\"dateCreated\">" . $this->registry->getClass('class_localization')->getDate($data['start_date'],"DATE", 0) . "</span>
		" . ((isset($data['tags']) AND $data['tags']) ? ("
			  <img src='{$this->settings['img_url']}/icon_tag.png' /> {$data['tags']['formatted']['truncatedWithLinks']}
		") : ("")) . "
	</span>

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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