Для юзеров Seditio и новичков
Ratibor |
|
---|---|
# Boss : Подозреваю, что это можно реализовать без дополнительного запроса. Просто в цикле смотрим (сравниваем) из какого CAT сейчас SECTION крутятся и как только CAT другой - делаем закрытие/открытие.Можно, смотри мой самый первый вариант. Но у него есть один существенный недостаток - там все блоки будут через )(. Вот как будет выглядеть шаблон: <!-- BEGIN: FORUMS_SECTIONS_ROW -->
<!-- BEGIN: FORUMS_SECTIONS_ROW_CAT -->
<!-- BEGIN: FORUMS_SECTIONS_FOOTER -->
</table>
<!-- END: FORUMS_SECTIONS_FOOTER -->
<h1>{FORUMS_SECTIONS_ROW_CAT_SHORTTITLE}</h1>
<table class='cells'>
<tr>
<th>Раздел</th>
<th>Тем</th>
<th>Сообщений</th>
<th>Крайнее сообщение</th>
</tr>
<!-- END: FORUMS_SECTIONS_ROW_CAT -->
<!-- BEGIN: FORUMS_SECTIONS_ROW_SECTION -->
<tr>
<td>
<h2><a href='{FORUMS_SECTIONS_ROW_URL}'>{FORUMS_SECTIONS_ROW_TITLE}</a></h2>
<div>{FORUMS_SECTIONS_ROW_DESC}</div>
</td>
<td>{FORUMS_SECTIONS_ROW_TOPICCOUNT}</td>
<td>{FORUMS_SECTIONS_ROW_POSTCOUNT}</td>
<td>{FORUMS_SECTIONS_ROW_LASTPOST} ...</td>
</tr>
<!-- END: FORUMS_SECTIONS_ROW_SECTION -->
<!-- END: FORUMS_SECTIONS_ROW -->
Причем после <!-- END: FORUMS_SECTIONS_ROW --> надо будет добавить еще раз то, что находится внутри секции FORUMS_SECTIONS_FOOTER, т.е. в твоем конкретном случае будет выглядеть так: <!-- BEGIN: FORUMS_SECTIONS_ROW -->
<!-- BEGIN: FORUMS_SECTIONS_ROW_CAT -->
<!-- BEGIN: FORUMS_SECTIONS_FOOTER -->
</table>
<!-- END: FORUMS_SECTIONS_FOOTER -->
<h1>{FORUMS_SECTIONS_ROW_CAT_SHORTTITLE}</h1>
<table class='cells'>
<tr>
<th>Раздел</th>
<th>Тем</th>
<th>Сообщений</th>
<th>Крайнее сообщение</th>
</tr>
<!-- END: FORUMS_SECTIONS_ROW_CAT -->
<!-- BEGIN: FORUMS_SECTIONS_ROW_SECTION -->
<tr>
<td>
<h2><a href='{FORUMS_SECTIONS_ROW_URL}'>{FORUMS_SECTIONS_ROW_TITLE}</a></h2>
<div>{FORUMS_SECTIONS_ROW_DESC}</div>
</td>
<td>{FORUMS_SECTIONS_ROW_TOPICCOUNT}</td>
<td>{FORUMS_SECTIONS_ROW_POSTCOUNT}</td>
<td>{FORUMS_SECTIONS_ROW_LASTPOST} ...</td>
</tr>
<!-- END: FORUMS_SECTIONS_ROW_SECTION -->
<!-- END: FORUMS_SECTIONS_ROW -->
</table> Нравится тебе такое ? Я думаю нет. Так что либо делать через задницу, либо добавить 1 sql запрос, тем более который обрабатывается только один раз за секцию. Еще раз повторю на пальцах что происходит при обработке: считывается строка из базы и идет сравнение новая это секция или нет и если новая то выводится заголовок. Это справедливо только для заголовка, но ты не можешь предугадать к какой секции будет принадлежать следующая строка в базе. Вот я и ввел цикл, теперь считывается строка из базы и как и раньше идет проверка к новой секции она принадлежит или нет и если к новой, то считаем сколько строк будет в этой секции и как секция закончится, то закрываем ее футером. После этого все отрабатывается четко и шаблон по человечий выглядит. Если конечно ты сможешь предсказать к какой секции будет принадлежать следующая строка в базе без sql запроса, то предлагай ? Не задавай глупых вопросов, не услышишь вранья.
|
|
Відредаговано: Ratibor (06.04.2009 20:54, 16 років тому) |