2015-12-18 5 views
2

я использую Smarty3 в качестве шаблона двигателя и каждый раз, когда у меня есть предупреждение PHP или уведомление внутри шаблона он говорит мне что-то вроде этого:Smarty показывает ошибку из скомпилированных файлов

Notice: Undefined index: tab in C:\xampp\htdocs\<project>\cms\application\tmp\compile\2ca7baf79266ad8c26c12b77578df81e640dbf89.file.index.phtml.php on line 66 

Я знаю, как разрешите эту ошибку, но это сообщение не дает мне подсказки, в каком файле происходит ошибка. Есть ли способ для Smarty рассказать мне реальный/оригинальный файл, который я должен искать, чтобы исправить ошибку?

Опять же, моя проблема заключается не в том, что я не могу найти ошибку. Проблема в том, что Smarty не говорит мне, в каком файле и строке найти ошибку.

Кроме того, сообщение об ошибке не является правильным, так как следующий код приводившая:

{if count($tab['columns']) > 0} 
... 
{/if} 

Это не показатель тот не определен, но переменная. Как это может быть?

+0

он должен быть в вашем файле tpl для проверки на вкладке –

+0

исправить? –

+0

Вы должны '$ smarty-> присваивать ('tab', ...);' где-то в вашем коде. Значение, которое вы назначаете переменной '$ tab', хранится внутри Smarty в массиве под индексом' tab'. Когда вы пишете в шаблоне '$ tab', он преобразуется в файл' $ _smarty_tpl-> tpl_vars ['tab'] 'в скомпилированном файле. Вот почему PHP сообщает * «undefined index: tab» * – axiac

ответ

0

Решение Проблема заключалась в том, чтобы обновить Smarty до последней версии.

0

В строке 66 вы вызываете массив вкладке индекса, массив [Tab], но этот показатель не существует в этом массиве

+0

Я знаю, что случилось, моя проблема в том, что я не вижу, что путь к файлу и строка ошибки. –

0

Вы можете включить отладку в Smarty: http://www.smarty.net/docsv2/es/chapter.debugging.console.tpl

+0

Это немного помогает, единственная проблема, с которой я сталкиваюсь, заключается в том, что я до сих пор не вижу, на какой строке какого файла возникает ошибка. –

Смежные вопросы