dimka3210
Легенда
Кто базу не ложил, тот жизни не знает))Число запросов в базу при просмотре темы посмотрите.
Кто базу не ложил, тот жизни не знает))Число запросов в базу при просмотре темы посмотрите.
<!-- BEGIN similar.topics -->
<tr class="tCenter {ROW_CLASS}">
<td style="border-left:0;border-bottom:0">{similar.topics.S_FORUM}</td>
<td style="border-bottom:0;" class="tLeft"><span class="topictitle">{similar.topics.S_TOPICS}</span></td>
<td style="border-bottom:0">{similar.topics.S_AUTHOR}</td>
<td style="border-right:0;border-bottom:0"><b>{similar.topics.S_TOR_SIZE}</b></td>
</tr>
<!-- END similar.topics -->
Нельзя, это два разные цикла для шаблонизатора, вы цикл вкладываете в цикл по сути. То, что вы хотите, в текущем шаблонизаторе не реализуемо без огромных костылей.можно ли использовать <!-- BEGIN similar.topics --> внутри <!-- BEGIN postrow -->
if (!$similar_cache = CACHE('bb_cache')->get('similar'.$topic_id))
{
$sql = "SELECT t.*, u.user_id, u.username, f.forum_id, f.forum_name, tor.size
FROM ". BB_TOPICS ." t, ". BB_USERS ." u, ". BB_FORUMS ." f, ". BB_BT_TORRENTS ." tor
WHERE t.topic_id != $topic_id
AND tor.topic_id = t.topic_id
AND MATCH (topic_title) AGAINST ('%$title%')
AND f.allow_reg_tracker = 1
AND t.forum_id = f.forum_id
AND t.forum_id != 170
AND t.topic_poster = u.user_id
ORDER BY t.topic_title LIMIT 10";
if ( !($result = DB()->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not get main information for similar topics", '', __LINE__, __FILE__, $sql);
}
$similar = array();
while ( $row = DB()->sql_fetchrow($result) )
{
$similar[] = $row;
}
$similar_cache = $similar;
CACHE('bb_cache')->set('similar'.$topic_id, $similar_cache, 104800);
}
Если у кеша достаточно памяти - то почему бы и нет.Норм если в кэше будет 2000 записей вида similar.id_топика ?