|
|
|
|
|
для: Roo$
(15.07.2009 в 13:16)
| | Ну если у вас проблема в инстументе, пользуйтесь section, но суть то не в нем. ;-) | |
|
|
|
|
|
|
|
для: sim5
(13.07.2009 в 16:32)
| | спасибо за советы.. нестал больше мучить foreach, а воспользовался альтернативным тегом section | |
|
|
|
|
|
|
|
для: Roo$
(13.07.2009 в 15:58)
| | Ваш массив должен представлять собой либо многомерный массив, где ключу "раздел" соответствует свой массив подразделов, тогда внешний цикл получает раздел, а внутренний раскладывает его подразделы. Либо это одномерный массив, тогда достаточно одного цикла, но с проверкой ключа "раздел".
Что вы пытаетесь разложить, бог его знает, но судя по коду Смарти, не верно - у вас "родитель" запихнут внутрь. | |
|
|
|
|
|
|
|
для: sim5
(13.07.2009 в 13:10)
| | ?? | |
|
|
|
|
|
|
|
для: Roo$
(13.07.2009 в 12:58)
| | Раздел вне цикла. | |
|
|
|
|
|
|
| Всем добрый день. Помогите разобраться (отделить код php от html) с шаблонизатором Smarty.
Изначально мой код выглядит так:
$result = mysql_query("SELECT * FROM ".$pre."_post_".$lang." where show_ns='y' and full_story LIKE '%$searchmsg%' ORDER BY date DESC LIMIT $start, $num");
while ($postrow = mysql_fetch_array($result))
$postrow2 = mysql_fetch_array($result);
{
$result8 = mysql_query("SELECT * FROM ".$pre."_category_".$lang." where id = '$postrow[category]'");
$postrow8 = mysql_fetch_array($result8);
echo "<tr bgcolor='#F0F8FF'><td><b>Раздел:</b> $postrow8[name]</td></tr>";
echo "<tr bgcolor='#F5FFFA'><td><a href='/$lang/search/$postrow[id]-$postrow[alt_name].html'>".$postrow[full_story]."</a></td></tr>";
echo "<tr><td width='2px'> </td></tr>";
}
|
А так я пытаюсь его отделить:
$search = new Smarty;
while ($postrow = mysql_fetch_array($result))
{
$postrows[]=$postrow;
$result8 = mysql_query("SELECT * FROM ".$pre."_category_".$lang." where id = '$postrow[category]'");
$postrow8 = mysql_fetch_array($result8);
$razdel[]=$postrow8;
}
$search->assign('postrow2',$postrows);
$search->assign('razdel',$razdel);
$search->display('search.tpl');
|
search.tpl
{foreach from=$postrow2 item=item}
{foreach from=razdel item=razdel1}
<tr bgcolor='#F0F8FF'><td><b>Раздел:</b> {$razdel1.name}</td></tr>
<tr bgcolor='#F5FFFA'><td><a href='/{$lang}/search/{$item.id}-{$item.alt_name}.html'>{$item.full_story|truncate}</a></td></tr>
<tr><td width='2px'> </td></tr>
{/foreach}
{/foreach}
|
В результате это у меня записей выводится в 5 раз больше чем должно быть ((. Если закоментить
{foreach from=razdel item=razdel1}
<tr bgcolor='#F0F8FF'><td><b>Раздел:</b> {$razdel1.name}</td></tr>
{/foreach}
|
то выводится все как надо.. но как быть с выводом раздела? | |
|
|
|
|