smarty: тормоза при передаче большого массива

zerkms

TDD infected
Команда форума
smarty: тормоза при передаче большого массива

привет всем. проблема такая:

передаю в шаблон массив $news

$news = array(
'id' => $row['id'],
'caption' => $row['caption'],
'announce' => $row['announce'],
'text' => $row['text'],
'post_time' => normaltime($row['post_time']),
'size' => $size );

$smarty->assign('news',$news);

где, $news['text'] является большим (?) блоком текста (~30kb).
и время передачи этого массива значительно увеличивается (порядка 3-4 с.), по сравнению с передачей этого же массива, содержащего меньшие объёмы. есть ли рещение данной проблемы или я где-то допустил ошибку???
 

sokol

Zavolga.Net
Не замечал торомзов, даже с большим объемом данных. Почему ты думаешь, что тормозит Смарти?

И лучше большие массивы не передавать, а передавать ссылку
$smarty->assign_by_ref('news', $news);
 

zerkms

TDD infected
Команда форума
я знаю что смарти тормозит точно - т.к. извлекал данные из БД разными способами и распечатывал их с помощью echo - они отображались мгновенно, а если с помощью смарти парсить - то время увеличивалось заметно.
 

sokol

Zavolga.Net
Включи debug, посмотри в отладке, какие данные попадают в Смарти, посмотри вермя генерации шаблона.

Покажи пример шаблона.
 

zerkms

TDD infected
Команда форума
привет всем:

кусок шаблона в котором выводится проблемный блок текста:

PHP:
<table width=100% border=0 cellspacing=1 cellpadding=2>
	<tr>
		<th colspan=3 class="thTop">{$NEWS_CAPTION}</th>
	</tr>
	{section name=i loop=$news}
		<tr height=3><td></td></tr>
		<tr>
			<td class="row1" colspan=3><span class="genmed">{$news[i].text}</span></td>
		</tr>
		<tr>
			<td class="row2" width=30%><span class="gensmall">Комментарии: 10</span></td>
			<td class="row2" width=30%><span class="gensmall">Автор: zerkms</span></td>
			<td class="row2" width=30%><span class="gensmall">{$news[i].post_time}</span></td>
		</tr>
	{/section}
</table>
_________________________
верхняя часть дебуга:

included templates & config files (load time in seconds):
main_template.tpl (0.05227) (total)
block_news.tpl (0.04483)
right.tpl (0.00337)

_________________________________________
переменные которые летят в шаблон:

assigned template variables:
{$NEWS_CAPTION} Понять значит упростить...
{$SCRIPT_NAME} /News.php
{$center} block_news.tpl
{$left} navigation.tpl
{$me} Array (1)
login => empty
{$need_forumline} 1
{$news} Array (1)
0 => Array (5)
id => 52
caption => Понять значит упростить...
announce => Когда только начали появляться первые...
text => Понять значит упростить...\r\n\r\nКогда т...
post_time => 07 Apr 04 / 21:33
{$news_full} 1
{$right} right.tpl
{$user_id} empty


.... я в растерянности - не наю что делать.
 

zerkms

TDD infected
Команда форума
написано 0.05 - а выполняется секунд 5. т.е. снизу полоска прогрузки идёт , но ничего не прорисовывается.
 

Silex

unitecsys
zerkms
Возможно, сам HTML в шаблоне кривой, точнее, "неудобоваримый" для конкретного экземпляра браузера? Браузер ведь тоже все это отрисовывает и рендерит... В других браузерах пробовал?

Тот же ИЕ, пока не получит содержимое таблицы, ее отрисовку не начинает, напсколько мне известно.
 

alpine

Новичок
Подсказываю подсказку!
Ты как тестишь? Может всетаки канал медленный?

-~{}~ 29.06.04 12:48:

Тот же ИЕ, пока не получит содержимое таблицы, ее отрисовку не начинает, напсколько мне известно.
Кстати тоже как вариант ...
 

zerkms

TDD infected
Команда форума
alpine:

банальный вариант))) тестю на локалхосте - проблема исчезла.

я затупил в одном месте.......
 
Сверху