Dynamiczne utworzenie nazwy zmiennej

Utworzenie zmiennej


!{assign var=tmp_work value="imp_1_dzien_"|cat:$w_data[ii].work_day|cat:"_pozycja_"|cat:$w_data[ii].work_id}!
!{assign var=check_work value="check_"|cat:$tmp_work}!
!{if $get_data.$check_work}! checked!{/if}!

Wykorzystanie w pętli


!{section name=ii loop=$w_data}!
<tr>
!{assign var=tmp_work value="imp_1_dzien_"|cat:$w_data[ii].work_day|cat:"_pozycja_"|cat:$w_data[ii].work_id}! !{assign var=check_work value="check_"|cat:$tmp_work}! </td>
<td><input type="checkbox" name="check_!{$tmp_work}!" value="1"!{if $get_data.$check_work}! checked!{/if}!/></td> <td><label for="!{$tmp_work_name}!">!{$w_data[ii].work_day}!</span>dzień</strong> !{$w_data[ii].work_date|date_format:"%Y-%m-%d"}!</td>
</tr>
!{/section}!

Przeformatowanie daty za pomoca funkcji str_pad

php:

$tstartdate = '2010-7-1';
$a_tstartdate = explode('-', $tstartdate);
$data_sd['d'] = str_pad($a_tstartdate[2], 2, '0', STR_PAD_LEFT);
$data_sd['m'] = str_pad($a_tstartdate[1], 2, '0', STR_PAD_LEFT);
$data_sd['y'] = $a_tstartdate[0];

smarty:

$smarty->assign('sd_data', $data_sd);

template:
Data wyjazdu:

<input type="text" value="!{$sd_data.d}!" disabled="disabled" size="2" />
<input type="text" value="!{$sd_data.m}!" disabled="disabled" size="2" />
<input type="text" value="!{$sd_data.y}!" disabled="disabled" size="4" />

wynik:
Data wyjazdu: 01 07 2010

Prezentacja wyników w smartach

php: 
$smarty->assign(‚$data_b’, $data_b);

szablon:
<table>
 <tr>
  <td>Nazwa</td>
  <td>Mapa</td>
 </tr>
 !{section name=i loop=$data_b.data}!
 <tr>
  <td>!{$data_b.data[i].nazwa}!</td>
  <td>!{$data_b.data[i].mapa}!</td>
 </tr>
 !{/section}!
</table>