Undefined variable: n

Автор Caruzo, 12 ноября 2014, 20:10:15

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Caruzo

Друзья, решил взяться и побороть ошибку

8: Undefined variable: n
Файл: /www/Themes/default/Display.template.php (portal_below sub template - eval?)
Строка: 8

Ошибок за несколько дней набегает под 300 тыщь.

Закрыл форум на обслуживание, ошибок нет. Сам залезаю в любую тему форума - появляется с каждым просмотром + одна. Если изменить тему оформления, не помогает.

Понял, что нужно добавить переменную в русский язык. А как это сделать и куда??

Yworld_garry

Лучше бы вот это предоставили, что у вас в там в 8 строке, и возможно вам быстрее бы помогли.

Display.template.php
Строка: 8

Caruzo

Там ваще закомментированная фраза " * [at]license http://www.simplemachines.org/about/smf/license.php BSD"

Variable я так понял изменяемое значение какое то. А как его добавить в файл русского?
$n типа??

Yworld_garry

Я не спец конечно в коддинге, но приведите выше ниже по несколько строчек, включая эту.

Caruzo

Да у кого стоит SMF могут легко глянуть, это код стандартного файла.

Я уже его менял даже на стандартный из свежей версии - все равно такая же канитель.

<?php
/**
* Simple Machines Forum (SMF)
*
* @package SMF
* @author Simple Machines
* @copyright 2011 Simple Machines
* @license http://www.simplemachines.org/about/smf/license.php BSD
*
* @version 2.0
*/

function template_main()
{
   global $context, $settings, $options, $txt, $scripturl, $modSettings;

   // Let them know, if their report was a success!
   if ($context['report_sent'])
   {
      echo '
         <div class="windowbg" id="profile_success">
            ', $txt['report_sent'], '
         </div>';
   }

   // Show the anchor for the top and for the first message. If the first message is new, say so.
   echo '
         <a id="top"></a>
         <a id="msg', $context['first_message'], '"></a>', $context['first_new_message'] ? '<a id="new"></a>' : '';

   // Is this topic also a poll?
   if ($context['is_poll'])
   {
      echo '

Yworld_garry

А если временно убрать блоки от портала из форума и проверить?

Серый Лис

#6
неплохая штука.. http://myblaze.ru/php_lessons/

GeorG

Это неопределённая переменная, ошибка не обезательно в файле Display.template.php находится, может быть и в другом файле и скорее всего это в файлах самого движка надо искать, а не в шаблоне. Моды могут перекрывать правильное определение ошибки.
Текстовые переменные состоящие из одной буквы, это какой-то нонсес.
Верстка тем по шаблону, их доработка/переработка, переделка тем с версии smf 1.1 на smf 2.0. Примеры работ - insidestyle.ru
Установка модов (заточка под ваш форум); Моды под заказ; Обновление форума; Правильный перенос; Удаление/лечение вирусов; Устранения ошибок.
Обращаться в ЛС
Мой форум
Модуль анти-спама CleanTalk, сам пользуюсь
Сервера которыми сам пользуюсь - cadedic.ru

Yworld_garry

Цитата: GeorG от 12 ноября 2014, 22:42:16Текстовые переменные состоящие из одной буквы, это какой-то нонсес.
Что такое встречалось в портале, в блоке PHP, при косячном его содержании, но это конечно может и не то, так как точно не помню.

digger®

Если установлена галка
Админка - Настройки сервера - Отключить проверку шаблонов темы оформления
попробуйте убрать ее, тогда  возможно точнее будет указывать место ошибки

Серый Лис

#10
Некогда был установлен мод OS & Browser Detection  за ненадобностью его удалил,  ошибок с удалением не возникало.
Просматривая логи,  обнаружил Неопределенную ошибку /sata1/home/users/.............../Themes/default/Display.template.php  причем эта ссылка кликабельна.
А в более ранних неопределенных ошибках такого же  типа,  ошибка с записью в конце  (main sub template - eval?)  Главный шаблон суб - Eval?   не кликабельна.
Раньше в настройках сервера "Отключить проверку шаблонов темы оформления",  галка была снята, а вчера ее поставил.
В Packages ничего такого связанного с OS & Browser Detection не обнаружил, наверное в файле Display.template.php строка 394 удалить все что связанно с OS & Browser Detection?



http://....................../index.php?topic=60.0 Undefined index: ua_os: ua_browser
Файл: /sata1/home/users/.............../Themes/default/Display.template.php

Строка: 396



http://............................./index.php?topic=10.0 /sata1/home/users/............../Themes/default/Display.template.php (main sub template - eval?)

Строка: 396



Если удалю запись выделенную на скрине в файле [size=78%]Display.template.php ошибки подобного типа исчезнут?[/size]

digger®

Цитата: gray fox от 13 ноября 2014, 10:23:42Если удалю запись выделенную на скрине в файле [size=78%]Display.template.php ошибки подобного типа исчезнут?[/size]
Удаляйте то, что на втором скрине выделено.

Caruzo

Галка не стояла. Поставил "Отключить проверку шаблонов".
Те ошибки, что я писал пропали, но появилась одна одинаковая


8: Undefined variable: n
Применить фильтр: Отображать ошибки только этого файла
www/Sources/PortalBlocks.php(3351) : eval()'d code
Строка: 8

Так же выявил, что если отключить Симпл портал - то ошибок нет.

digger®

Цитата: Caruzo от 13 ноября 2014, 11:43:33
Галка не стояла. Поставил "Отключить проверку шаблонов".
Те ошибки, что я писал пропали, но появилась одна одинаковая


8: Undefined variable: n
Применить фильтр: Отображать ошибки только этого файла
www/Sources/PortalBlocks.php(3351) : eval()'d code
Строка: 8
А в PortalBlocks.php что в районе строки 3351 ?
И самопальных php блоков у вас нет добавленных?

Серый Лис

Да digger®  спасибо уже удалил. Пока все норм.
Но снова пробежался по 44 страницам  "Неопределенных ошибок" и в самых "свежих" нашел еще строки, в том же файле  Display.template.php  но уже связанные не  с os: ua_browser  (то есть со строкой 396),   а уже Undefined index: topic_is_article (Неопределенная индекс)  строки 214 и 216
Если строки связанные с  OS & Browser Detection просто удалил, то тут дело сложнее, даже не знаю как быть.. наверное это связанно с неопределенными переменными. Может взять  Display.template.php с дистрибутива и заменить на сервере его целиком? Правда не знаю затронет ли он другие моды, хотя их всего 12 шт.

digger®

Цитата: gray fox от 13 ноября 2014, 11:54:34Display.template.php с дистрибутива и заменить на сервере его целиком? Правда не знаю затронет ли он другие моды, хотя их всего 12 шт.
Наверняка затронет, это самый ходовой шаблон для модификаций.

Серый Лис

блин.. чего ж делать, ошибки не критичные
хвосты OS & Browser Detection как бы убрал, мож забить на эти артикли..?
digger® я запутался вкл. или откл. проверку шаблонов оформления?  людей то раз-два и обчелся..

Caruzo

Цитата: digger® от 13 ноября 2014, 11:53:42А в PortalBlocks.php что в районе строки 3351 ?
Это предпоследняя почти строка, в ней
   eval($content);

А дальше закрывашки и азис
}

?>


Самопальные тоже есть. Щас попробую их поотключать по очереди

digger®

Цитата: gray fox от 13 ноября 2014, 12:01:11
блин.. чего ж делать, ошибки не критичные
хвосты OS & Browser Detection как бы убрал, мож забить на эти артикли..?
В студию строки где ошибки
Цитировать
[size=78%]digger® [/size]еще вопрос,  вкл. или откл. проверку шаблонов оформления?
С отключенной форум будет быстрее работать, при наличии php-акселератора.


Серый Лис

#20
Цитата: digger® от 13 ноября 2014, 12:10:38при наличии php-акселератора.

Увы.. в такие глубины не "плаваю", к сожалению.. знаю только гашетку "акселератора" в своей тачке.
а скрины вот и (пока) ошибки проявляются только в строках 214 и 216

Caruzo

Премного благодарен. Действительно один блок рнр давал этот глюк, собственно это код сапы.

<? echo $sape->return_links(n); ?>

Хотя на сайте сапы написано, что $n – количество ссылок, которое вы хотели бы вывести в данном месте страницы. Последний вызов этой функции в документе обязательно должен производиться без параметров.

Так что исправил или думаю вообще сапу эту грохнуть. Шляпная она какая то стала.

Так что еще раз респектую!!



Серый Лис

#24
  digger® спс! +

Серый Лис

#25
Я дико извиняюсь перед уважаемым digger® что отвлекаю, но изменения не прокатили...
При обращении к любой теме сайта выскакивает Parse error: syntax error, unexpected '!', expecting '(' in /sata1/home/users/Themes/default/Display.template.php on line 214  (Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный, ожидая '(' в /sata1/home/users/Themes/default/Display.template.php на линии 214 '!')   
Осмелюсь предположить, может директиву !empty нужно вставить сразу после переменной?
Оригинал кода:
($context['can_add_article'] && !$context['topic_is_article'])


digger®

Цитата: gray fox от 13 ноября 2014, 14:55:08
Я дико извиняюсь перед уважаемым digger® что отвлекаю, но изменения не прокатили...
При обращении к любой теме сайта выскакивает Parse error: syntax error, unexpected '!', expecting '(' in /sata1/home/users/Themes/default/Display.template.php on line 214  (Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный, ожидая '(' в /sata1/home/users/Themes/default/Display.template.php на линии 214 '!')   
Осмелюсь предположить, может директиву !empty нужно вставить сразу после переменной?
Оригинал кода:
($context['can_add_article'] && !$context['topic_is_article'])
вместо
($context['can_add_article'] && !$context['topic_is_article'])
будет
($context['can_add_article'] && empty($context['topic_is_article']))

Серый Лис

#27
Спасибо.