|
|
|
| Два файла подключаются к основному шаблону при помощи вот такого обработчика:
<?php
require ('smarty/Smarty.class.php');
$smarty = new Smarty;
//соединение с базой
include("configs/dbopen.php");
//подключаемые файлы
include("moduls/ad.php");
include("moduls/quest.php");
$smarty->display("table.tpl");
?>
|
Вывод - через шаблон table.tpl:
<table border = 3>
<tr>
<td>{include file = "qu.tpl"}
</td>
<td>{include file = "ad.tpl"}
</td>
</tr>
</table>
|
При этом qu.tpl:
{foreach from=$quest item=one}
<p><A HREF='?quest={$one.id}'>{$one.main_text}</A></p><br />
{/foreach}
|
ad.tpl:
{foreach from=$arr item=row}
<p><A HREF='?id={$row.id}'>{$row.main_text}</A></p><br />
{/foreach}
|
И их обработчики:
qest.php
<?php
$smarty = new Smarty;
include("configs/dbopen.php");
$sql = "SELECT * FROM `texts` WHERE `id_mod` = 13 ORDER BY `id` DESC";
$result = mysql_query($sql, $link);
$quest = array();
while ($row = mysql_fetch_assoc($result))
{
$quest[] = $row;
$id = $row['id'];
$n = $row['main_text'];
$n = strtok($n, '.');
//print_r($row);
}
$smarty->assign('quest', $quest);
$smarty->fetch("qu.tpl");
?>
|
И похожий на него ad.php
<?php
$smarty = new Smarty;
include("configs/dbopen.php");
$sql = "SELECT * FROM `texts` WHERE `id_mod` = 11 ORDER BY `id` DESC LIMIT 4";
$result = mysql_query($sql, $link);
$list = array();
while ($row = mysql_fetch_assoc($result))
{
$list[] = $row;
$id = $row['id'];
$name = $row['main_text'];
$name = strtok($name, '.');
//print_r($row);
}
$smarty->assign('arr', $list);
$smarty->fetch("ad.tpl");
?>
|
По отдельности шаблоны выводятся нормально. Но если соединить их в одну таблицу, выводится только один из них. Убиваем тот, что выводится, и начинает выводиться второй. Почему так происходит, если в самих шаблонах ошибок - нет? | |
|
|
|
|
|
|
|
для: Лена
(03.09.2008 в 14:09)
| | попробуйте в обработчиках поменять include("configs/dbopen.php"); на include_once("configs/dbopen.php"); | |
|
|
|
|
|
|
|
для: Лена
(03.09.2008 в 14:09)
| | $smarty->fetch("qu.tpl"); и $smarty->fetch("ad.tpl"); делать не надо, переменные переданы этим шаблонам как: $smarty->assign('quest', $quest);, $smarty->assign('arr', $list);. Перехватывать шаблон в переменную в этом случае смысла нет. | |
|
|
|