robertino_salemi
09-02-2015, 16:25
Salve a tutti,
sto lavorando ad un progetto già avviato in cui viene utilizzato Smarty (http://www.smarty.net).
ll problema non riguarda Smarty in se, ma la visualizzazione di una tabella dinamica, esattamente l'echo dell'ultima cella di ogni riga...quindi è più un problema di logica...
Dovrei evitare di stamparla se tutte le altre cella della riga sono vuote...
Ho provato con:
1) un if sul valore della variabile che la cella deve contenere, ovviamente però se è vuota la tabella ci saranno righe che avranno l'ultima cella e righe che invece saranno vuote
2) se l'if lo inserisco dentro il td della cella, questa viene stampata sempre...
Ecco qui il codice:
{foreach from=$dati item=d name=dati}
{if $camino_old <> $d.camino and not $smarty.foreach.dati.first}
<tr>
<td colspan="5"><div style="width:100%;height:1px;border:1px solid black;overflow:hidden"></div></td>
</tr>
{/if}
{if $flagnote == 'true'}
{if $d.camino == 'Tutti' and $first}
<tr class="top" style="font:12px">
<td colspan="5" align="center"><b>Note Generali</b></td>
</tr>
{assign var="first" value=false}
{/if}
{/if}
<tr class="{cycle values='even,odd'}" style="font:12px;">
{if $d.camino == 'Tutti'}
{if $flagnote == 'true'}
<td width="100px" align="center"><b>{$camini[$d.camino]}</b></td>
<td width="80px" align="center">{$d.datarif}</td>
{/if}
{else}
<td width="100px" align="center"><b>{$camini[$d.camino]}</b></td>
<td width="80px" align="center">{$d.datarif}</td>
{/if}
{if $d.camino == 'Tutti'}
{if $flagnote == 'true'}
<td colspan="2">{$d.note}</td>
{/if}
{else}
<td width="200px">{$d.note}</td>
{/if}
{if $d.camino <> 'Tutti'}
<td>{$d.note_estese}</td>
{/if}
<td align="center" >
{if $d.idfile <> ''}
<img title="{$d.nomefile}" src="{$SITEURL}img/page.gif" style="cursor:pointer" onClick="document.location='dl.php?id={$d.idfile}'">
{/if}
</td>
</tr>
{assign var = camino_old value = $d.camino}
{/foreach}
Suggerimenti?
Se utilizzassi un flag booleano?
Grazie.
sto lavorando ad un progetto già avviato in cui viene utilizzato Smarty (http://www.smarty.net).
ll problema non riguarda Smarty in se, ma la visualizzazione di una tabella dinamica, esattamente l'echo dell'ultima cella di ogni riga...quindi è più un problema di logica...
Dovrei evitare di stamparla se tutte le altre cella della riga sono vuote...
Ho provato con:
1) un if sul valore della variabile che la cella deve contenere, ovviamente però se è vuota la tabella ci saranno righe che avranno l'ultima cella e righe che invece saranno vuote
2) se l'if lo inserisco dentro il td della cella, questa viene stampata sempre...
Ecco qui il codice:
{foreach from=$dati item=d name=dati}
{if $camino_old <> $d.camino and not $smarty.foreach.dati.first}
<tr>
<td colspan="5"><div style="width:100%;height:1px;border:1px solid black;overflow:hidden"></div></td>
</tr>
{/if}
{if $flagnote == 'true'}
{if $d.camino == 'Tutti' and $first}
<tr class="top" style="font:12px">
<td colspan="5" align="center"><b>Note Generali</b></td>
</tr>
{assign var="first" value=false}
{/if}
{/if}
<tr class="{cycle values='even,odd'}" style="font:12px;">
{if $d.camino == 'Tutti'}
{if $flagnote == 'true'}
<td width="100px" align="center"><b>{$camini[$d.camino]}</b></td>
<td width="80px" align="center">{$d.datarif}</td>
{/if}
{else}
<td width="100px" align="center"><b>{$camini[$d.camino]}</b></td>
<td width="80px" align="center">{$d.datarif}</td>
{/if}
{if $d.camino == 'Tutti'}
{if $flagnote == 'true'}
<td colspan="2">{$d.note}</td>
{/if}
{else}
<td width="200px">{$d.note}</td>
{/if}
{if $d.camino <> 'Tutti'}
<td>{$d.note_estese}</td>
{/if}
<td align="center" >
{if $d.idfile <> ''}
<img title="{$d.nomefile}" src="{$SITEURL}img/page.gif" style="cursor:pointer" onClick="document.location='dl.php?id={$d.idfile}'">
{/if}
</td>
</tr>
{assign var = camino_old value = $d.camino}
{/foreach}
Suggerimenti?
Se utilizzassi un flag booleano?
Grazie.