отображение данных в шаблоне smarty только в случае их вывода print_r'ом

sniper_9

Новичок
отображение данных в шаблоне smarty только в случае их вывода print_r'ом

Всем привет. Столкнулся с довольно интересной ситуацией. Есть функция, ктотрая возвращает ассоциативный массив данных и отправляет их в шаблон. Примеры кода - ниже. Но вот парадокс. Даныые не поступают в шаблон за исключением их предварительного вывода на экран print_r'ом. ТО есть делаю print_r фугкции данные на экране появляются. не делаю - нет.
вот пример print_r:
Array ( [0] => Array ( [id_news] => 1 [name] => Первая новость [body] => Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей.Заработала система новостей. [putdate] => 2007-12-03 10:02:27 [hide] => show [anons] => Заработала система новостей.Заработала... ) )код шаблона:
{if $aNews neq false}

<ul>
{foreach name="news" item="news" from=$aNews}
<li><u>{$smarty.foreach.news.iteration}.</u><span>{$news.anons}</span><br />
<a href="{$http_address}/news/{$news.id_news}">Подробнее</a></li>
{/foreach}
</ul>
{/if}

Заранее, спасибо.
 

sniper_9

Новичок
ок.
вот её вызов:

index.php:
......
$aData = $oNews->read_news('client','all',&$mdb2);
$oSmarty->assign('aNews',$aData);
......

код функции:

function read_news($from,$how_much,$db)
{
if (isset($how_much)){
$numchar = 50;
$sql = "SELECT * FROM news";
if ($from <> 'admin')
if ($how_much <> 'all')
$sql .= " WHERE hide='show' AND putdate <= NOW() and `id_news`=".$how_much;
else
$sql .= " WHERE hide='show' AND putdate <= NOW()";
else
if ($how_much <> 'all')
$sql.= ' WHERE `id_news`='.$how_much;

$sql .= " ORDER BY putdate DESC
LIMIT ".news_number;

$aNews=array();$i=0;
//echo $sql;
$result =& $db->query($sql);

if (PEAR::isError($result))
{
die($result->getMessage());
}

if(!MDB2::isError($result))
while($aRes = $result -> fetchRow(MDB2_FETCHMODE_ASSOC))
{

$aNews[$i] = $aRes;
}
if (count($aNews) <1)
return false;
else return $aNews;

-~{}~ 03.12.07 10:22:

Функция данные возвращает проверял. Проверял.
 

AmdY

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

sniper_9

Новичок
спасибо. за подсказку. ошибку нашёл. смарти отработал нормально. код сгенерился. ошибка была в вёрстке, то есть в стилях.
есть ещё не большой офтоп фопрос : бывает ситуация когда страница отображается в мозилле норамльно, а в IE вообшем не отображется. чистый лист. нажимаешь просмотр html кода - там вёрстка. сталкивался с таким и как пользователь и как разработчик. кто нить сталкивался с таким уже?
 

Апокалипсис

тех дир matras.ru
У меня в тот день пятна на солнце были :)
А вообще причина может быть любая -> несовместимость (css, js, или просто вёрстки) разными броузерами и т.п.
 

AmdY

Пью пиво
Команда форума
sniper_9 советую почитать о tidy.
И использую отступы.
Код:
<html>
    <head>
        <title>......</title>    
    </head>
    <body>
        <p>.....</p>
        <div>
            ......
            ......
    </body>
</html
 

kruglov

Новичок
sniper_9
кто нить сталкивался с таким уже?
Бывает, когда кодировка страницы не совпадает с определенной браузером. Особенно когда одна из них юникод.
Еще бывает, когда недогрузилось.
Можно искусственно запрограммировать такой эффект.
 

AmdY

Пью пиво
Команда форума
а, вспомнил случай, ИЕшка проявила себя с положительной стороны.
у меня на одном сайте завёлся вирь, который совал в конец страницы скрытый iframe, так иешка не открывала эту страницу, так и нашли проблему, а вот остальные работали нормально :(
 
Сверху