Почему невидно файла dubug.tpl ?

xintrea

Новичок
Почему невидно файла dubug.tpl ?

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

Имею такую структуру проекта:

smarty (директория, с кодами смарти)
smarty/compile (директория, хранилище скомпилированных шаблонов)
smarty/cache (директория, хранилище закешированных файлов)
model (директория с шаблонами)
index.php (файл)


Попытался включить в Smarty консоль отладки. Для этого в index.php написал

PHP:
// Подключение Smarty 
define('SMARTY_DIR', 'smarty/'); 
define('TEMPLATES',  'model/'); 
define('TEMPLATES_C','smarty/compile/'); 
define('CACHE',      'smarty/cache/'); 
require_once(SMARTY_DIR.'Smarty.class.php'); 

// Создание объекта Smarty и его настройка
$smarty=new Smarty; 
$smarty->compile_check=TRUE; 
$smarty->force_compile=FALSE; 
$smarty->template_dir =TEMPLATES; 
$smarty->compile_dir  =TEMPLATES_C; 
$smarty->cache_dir    =CACHE; 
$smarty->caching      =FALSE;
$smarty->debugging    =TRUE; // Включение отладки
И когда добавил вот эту строчку "$smarty->debugging=TRUE", то консоль не появляется, а видно такое предупреждение

Код:
Warning: Smarty error: unable to read resource: "file:smarty/debug.tpl" 
in W:\home\localhost\www\sherwood\smarty\Smarty.class.php on line 1095
Файл debug.tpl в каталоге smarty есть. Попробовал задать еще одну опцию

$smarty->debug_tpl ='smarty/debug.tpl';

тогда предупреждение несколько меняется

Код:
Warning: Smarty error: unable to read resource: "smarty/debug.tpl" 
in W:\home\localhost\www\sherwood\smarty\Smarty.class.php on line 1095
Пробовал задать название debug.tpl как

/smarty/debug.tpl
smarty/debug.tpl
/debug.tpl
debug.tpl

ни один из вариантов не подошел. Шаблоны в этой структуре работают, не работает только консольл отладки. Что не так делаю?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
ustas
Немного не то.
Что ожидает увидеть человек
при дебаге темплейта?
1. Текущую страницу
2. Отладочную информацию в Поп-Ап окне


xintrea
Для вывода отладочной информации использую {debug} в нужном темплейте.

Возможно Вам поможет решить данную проблемму
$smarty->debug_tpl =SMARTY_DIR.'debug.tpl';
 

xintrea

Новичок
Мда, ничо не помогает. "$smarty->debug_tpl =SMARTY_DIR.'debug.tpl';" - тоже не помог. А при {debug} выдается то же самое предупреждение.

Человек ожидает увидеть отладочную информацию в Поп-Ап окне.

Я вот думаю, может это смарти c PHP 5.2.1 не дружит... Бред честнагаваря какойто. Уже права на файл проверил, все нормально, доступ к файлу есть.

Решил свою траблу для которой нужнен был дебаг печатью нужных переменных. Но это же не дело. Без консоли неудобно. Куда еще копать понять не могу.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
А если ету фигню вааще убрать нафиг?
$smarty->debug_tpl =

-~{}~ 05.06.07 01:34:

ХЗ у меня

PHP Version 5.2.1
Движок SMARTY немного староват @version 2.6.14
Устанавливаю только средующие свойства

$smarty = new Smarty();
$smarty->error_reporting = E_ALL;
$smarty->force_compile = $config->force_compile;
$smarty->caching = $config->caching;
$smarty->cache_dir = $config->cache_dir ;
$smarty->compile_check = $config->compile_check;
$smarty->template_dir = $config->template_dir;
$smarty->compile_dir = $config->compile_dir;




-~{}~ 05.06.07 01:53:

Вы как проверяли?
Визуально или так:
if (file_exists (SMARTY_DIR.'debug.tpl')){
echo 'file_exist';
}
 

ustas

Элекомист №1
вывод идет только с фукцией display. Ты ее хоть раз вызвал?
поставь xdebug.org и смотри что и как вызывается.
если не знаком, dll на сайте, настройки такие в php.ini
[xdebug]
zend_extension_ts= /usr/local/php/php_xdebug-2.0.0rc3-5.2.1.dll
xdebug.auto_trace = 1
xdebug.profiler_output_name = cachegrind.out.%p
xdebug.show_exception_trace = 1
xdebug.show_local_vars = 1
xdebug.trace_format = 0
xdebug.trace_output_dir = /tmp/xdebug
xdebug.collect_includes = 1
xdebug.show_mem_delta = 1
xdebug.profiler_enable = 1
xdebug.collect_return = 1
xdebug.collect_params = 4
xdebug.trace_output_name = %p
то есть по мах

вариант 2
найди эти строчки (1193)
Код:
if ($display) {
    if ($this->debugging)
        {
         // capture time for debugging info
        $_params = array();
        require_once(SMARTY_CORE_DIR . 'core.get_microtime.php');
        $this->_smarty_debug_info[$_included_tpls_idx]['exec_time'] = smarty_core_get_microtime($_params, $this) - $_debug_start_time;
        require_once(SMARTY_CORE_DIR . 'core.display_debug_console.php');
        $_smarty_results .= smarty_core_display_debug_console($_params, $this);
поставь там отладку и гляди,

вариант 3
покажи как ты включаешь отладку, приведи код

-~{}~ 05.06.07 04:41:

Mr_Max
Немного не то.
Что ожидает увидеть человек
при дебаге темплейта?
1. Текущую страницу
2. Отладочную информацию в Поп-Ап окне

пока он доберется до {debug}, раки могут засвистеть и так видно измучался, в куче версий ошибки были, а при
$smarty->debugging=1;
$smarty->display(твой шаблон);
он увидит хоть что то

скорее всего из за {debug}
справка
выводит консоль отладки. Это работает независимо от значения опции debug. Так как этот тэг обрабатывается в процесе выполнения, то возможно вывести только присвоенные переменные, но не используемые шаблоны. Но вы видите все переменные, доступные в области видимости текущего шаблона.

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