Jump to content
  • 0

Двойной Массив В Шаблоне


ultimatum
 Share

Question

Здравствуйте участники форума.

Есть некий массив вида.

0_4740c_47c21e65_orig.jpg

есть smarty шаблон

{foreach}{* название категории *}
<div style="padding:10px 0px 20px 0px ;">
<table>
<tr>
<td valign="top">
<div style="width:150px;padding:5px 5px 0px 10px ;">
<a href="/section53" name="Тема дня" style="text-transform: capitalize;border:0px;text-decoration: none;">
<h3>категория[name]</h3></a>
</div>
</td>
<td valign="top" style="width:634px;border-bottom:1px solid #dae2e8;">
<div style="font-size:14px;">
<ul>
{foreach}{* название тем относящиеся к категории *}
<li style="display:block;margin:0px 0px 8px 0px ;"><a style="text-decoration:none;border-bottom:1px dashed #f2e6e6;" href="#">Название темы[nametheme]</a></li>
{/foreach}
</ul>
</div>
</td>
</tr>
</table>
</div>
{/foreach}

while ( $while_section = mysql_fetch_array( $mysql_section, MYSQL_ASSOC)){
$sections[] = $while_section;
}
$smarty->assign('section', $sections);

Необходимо исправить шаблон таким образом чтобы в итоге получить одно название категории поле [name] в mysql и темы которые относятся к данной категории поле [nametheme] .

Пытался сделать {foreach} два раза, но как то всё криво выходит.

Для примера, чтобы понятней было, скажем есть форум у которого есть категория и у него идут подразделы внутри категории.

Edited by ultimatum
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

<div style="margin:20px 0px 10px 0px ;border:1px dashed #dae2e8; -moz-border-radius: 20px 10px 10px 10px ;">
<div style="padding:10px 0px 20px 0px ;">
<table>
<tr>
<td valign="top">
<div style="width:150px;padding:5px 5px 0px 10px ;">
<a href="/section53" name="Тема дня" style="text-transform: capitalize;border:0px;text-decoration: none;">
<h3> {$section.$key.name}
</h3></a>
</div>
</td>
<td valign="top" style="width:634px;border-bottom:1px solid #dae2e8;">
<div style="font-size:14px;">
<ul>

{assign var="rubr" value="0"}

{foreach key=key item=item from=$section}
{if $rubr != $section.$key.rubric}
{assign var="rubr" value=$section.$key.rubric}
</ul>
</div>
</td>
</tr>
</table>
</div>
<div style="padding:10px 0px 20px 0px ;">
<table>
<tr>
<td valign="top">
<div style="width:150px;padding:5px 5px 0px 10px ;">
<a href="/section{$section.$key.rubric}" name="Тема дня" style="text-transform: capitalize;border:0px;text-decoration: none;">
<h3> {$section.$key.name}
</h3></a>
</div>
</td>
<td valign="top" style="width:634px;border-bottom:1px solid #dae2e8;">
<div style="font-size:14px;">
<ul>
{/if}
<li style="display:block;margin:0px 0px 8px 0px ;">
<a style="text-decoration:none;border-bottom:1px dashed #f2e6e6;" href="/theme{$section.$key.id}">
{$section.$key.nametheme}

</a>
</li>
{/foreach}
</ul>
</div>
</td>
</tr>
</table>
</div>
</div>

Тема клозед )

Link to comment
Share on other sites

  • 0

{foreach key=key item=item from=$section}
{if $rubr != $section.$key.rubric}

Это так с какой целью сделано?

{foreach key=key item=item from=$section}
{if $rubr != $item.rubric}

Не проще ли?

И, да, рекомендую сменить делимитеры с «{» на какие-нибудь другие. Если случится, что в шаблоне будет яваскрипт (это не до конца правильно, конечно, но иногда приходится так делать), то смарти будет ругаться на такие символы.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy