For Programmers: Free Programming Magazines  


Home > Archive > PHP Smarty Templates > March 2004 > Re: [SMARTY] section and columns









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: [SMARTY] section and columns
Monte Ohrt

2004-03-19, 1:28 pm

Use one table row and move to the new column when the loop is divisible
by four, so something like (untested):

<table>
{section name=category loop=$categories}
<tr>
<td>
<a
href="{$categories[category].url}">{$categories[category].name}</a>
{if not $smarty.section.category.last}
{if $smarty.section.category.iteration is div by
4}</td><td>{else}<br />{/if}
{/if}
</td>
</tr>
{/section}
</table>

On Tue, 2004-03-02 at 12:04, Uros Gruber wrote:
> Hello!
>
> Let say I have some array of data
>
> and I show it like this
>
> <table>
> {section name=category loop=$categories}
> <tr>
> <td>
> <a href="{$categories[category].url}">{$categories[category].name}</a>
> </td>
> </tr>
> {/section}
> </table>
>
> Is it now possible to rewrite tpl file so I can for example make
> output in two, three, four columns. So designer can choose how much
> columns to use.
>
>
> example output
>
> cat1 cat5 cat9
> cat2 cat6 cat10
> cat3 cat7 cat11
> cat4 cat8
>
> Right now I have to use array chunk before I assign array to smarty
> and then in tpl file I have to use sub section.
>
> Is this even possible?
>
> --
> tia,
> Uros

Messju Mohr

2004-03-19, 1:28 pm

On Tue, Mar 02, 2004 at 07:45:16PM +0100, Uros Gruber wrote:
> Hello!
>
> That is some sollution, but this number 4 is how many rows per column.
> This can lead to some great number of columns. What i want i set how
> many columns. Probably sollution is simple but right now I'm blind for
> it.
>
> And also I want to solve this with table, not <br>, because i have
> some other data etc. but if is no other way I can do with <br>


{assign var=cols value=3} {* configurable *}
{math assign=rows equation="ceil(a/c)" a=$data|@count c=$cols} {* computed *}
<table>
{section name=tr loop=$rows}
<tr>
{section name=td start=$smarty.section.tr.index
loop=$smarty.section.tr.index+$cols*$rows step=$rows}
<td>{$data[td]|default:"&nbsp;"}</td>
{/section}
</tr>
{/section}
</table>

HTH
messju

> --
> tia,
> Uros
>
> Tuesday, March 2, 2004, 7:19:13 PM, you wrote:
>
> MO> Use one table row and move to the new column when the loop is divisible
> MO> by four, so something like (untested):
>
> MO> <table>
> MO> {section name=category loop=$categories}
> MO> <tr>
> MO> <td>
> MO> <a
> MO> href="{$categories[category].url}">{$categories[category].name}</a>
> MO> {if not $smarty.section.category.last}
> MO> {if $smarty.section.category.iteration is div by
> MO> 4}</td><td>{else}<br />{/if}
> MO> {/if}
> MO> </td>
> MO> </tr>
> MO> {/section}
> MO> </table>
>
> MO> On Tue, 2004-03-02 at 12:04, Uros Gruber wrote:
>
> --
> Smarty General Mailing List (http://smarty.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com