Консультация № 57690
04.10.2006, 13:07
0.00 руб.
0 7 2
Здравствуйте.
Такая проблема: есть движок DataLife. Он использует шаблоны типа *.tpl.
Чтобы вывести какую-нибудь информацию посредством PHP на главной страничке (шаблон main.tpl) я добавляю его в файл index.php, который передает все данные шаблону.
Мне нужно вывести данные из определенного файла на моем севрере в корневой папке (там простой текст).
Я делаю так!

В файле index.php:
$test=include test.php;
$tpl->set(‘{test}‘,$test);

В файле main.tpl:
<table><tr><td>
{test}
</td></tr></table>

Выводится текст, только в самом верхнем левом углу....
Никак не могу вставить его прямо внутрь таблицы, которая находится внизу сайта.
Как не комбинировал, текст постоянно вне дизайна встраивается...
Подскажите, как можно привязать или что-нибудь сделать, чтобы текст из нужного мне файла вставлялся в нужную область моего сайта.
Спасибо.

Обсуждение

Неизвестный
04.10.2006, 13:24
общий
это ответ
Здравствуйте, Araks!
Все правильно. Инструкции include, require и их производные вставляют код или текст в то место, где они вызваны. Для нормального отображения файла test.php примените один из следующих способов:
1. Чтение файла в переменную $str

$fp = fopen("test.php", "r");
$str = file($fp);
$tp;->set(‘{test}‘,$test);

2. Вставте инструкцию include в нужное место (хотя может и не получиться):

$tpl->set(‘{test}‘,include("test.php"));
Неизвестный
04.10.2006, 13:49
общий
Выдается ошибка:Warning: file() expects parameter 1 to be string, resource given in /index.php on line 389Написал так:№388 $fp = fopen("test.html", "r");№389 $str = file($fp);№390 $tpl->set(‘{test}‘,$str);По второму примеру выводит точно так же, как я описал в вопросе! :(Какие еще будут мнения, господа?
Неизвестный
04.10.2006, 14:26
общий
это ответ
Здравствуйте, Araks!
А какие еще файлы tpl кроме main.tpl проигрываются на странице ?
Вполне возможно, что дело в порядке отображения (проигрывания) файлов.
Первым идет main.tpl а остальные следом.
Поэтому и появляется все вверху экрана.
То есть надо попробовать менять другие шаблоны.

как вариант - переименовать шаблон в main.tpl и уже в нем вставить текст в нужное место.
Неизвестный
04.10.2006, 17:53
общий
Кстати, внутренности файла вставляются вверху страницы, слева. А на том месте, где оно должно выводиться выводится цифра "1" !!!Может это как-то связано с логическими величинами? Boolen?? Что это может быть?
Неизвестный
04.10.2006, 18:02
общий
Оппа!Удалил из main.tpl строку {test}, а index.php оставил неизменным:$tpl->set(‘{test}‘,include (test.html));Внутренности все-равно показываются там, где и показывались, а единичка исчезла.То есть include() интерпретируется, как непосредственная вставка, внезависимости от main.tpl.Так как сайт то загружает index.php...
Неизвестный
05.10.2006, 16:58
общий
Подождите, разьве при использовании шаблонов не нужно в конце писать что-то типа $tpl->compile или $tpl->result?
Неизвестный
05.10.2006, 17:29
общий
$tpl->compile(‘main‘);echo $tpl->result[‘main‘];$tpl->global_clear();Есть такое! В самом index.php.У меня появилась идея, может проще будет все это средствами JavaScript написать? Не подскажете, есть возможность вставить файл, написав на этом языке скрипт?
Форма ответа