[Smarty] array associativi con nome indice dinamico

Salve gente,

devo accedere ad un array associativo dinamico in un file .tpl di smarty...

in php faccio così:

for ($i=0; $i<count($a); $i++)
      echo $a['ciao_' . $i];

come posso fare invece nel template?

grazie in anticipo per l'aiuto

inviato 11 anni fa
Xscratch
X 0 X

non puoi usare un foreach?

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

infatti uso un foreach, il fatto è che devo scorrere 2 array con lo stesso numero di elementi

anzi, il secondo è un'oggetto HTML_QUickForm...

(è sempre lo stesso discorso che avevo postato nell'altro topic...)

risposto 11 anni fa
Xscratch
X 0 X

il secondo è un array dell'oggetto HTML_QUickForm?

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

ok, cancella tutto quello che ho detto(scritto):

il problema è un'altro:

devo accedere non ad un array con quell'indice ma ad un oggetto

ed ora posto tutta la sezione:

   {section name=customer loop=$data}
      {if $smarty.section.customer.rownum is odd}
         <tr>
            <td class="row1">{$data_grid.check_1.html}</td>
            <td class="row1">{$data[customer]->get_id_agenzia()}</td>
            <td class="row1">{$data[customer]->get_nome()}</td>
            <td class="row1">{$data[customer]->get_note()}</td>
         </tr>
      {else}
         <tr>
            <td class="row2"></td>
            <td class="row2">{$data[customer]->get_id_agenzia()}</td>
            <td class="row2">{$data[customer]->get_nome()}</td>
            <td class="row2">{$data[customer]->get_note()}</td>
         </tr>
      {/if}
   {sectionelse}
      <tr>
         <td colspan="4">no data</td>
      </tr>
   {/section}

dove l'oggetto HTML_QUickForm è:

for ($i=0; $i < count($DATA); $i++) {
   $obj_name = 'check_' . $DATA[$i]->get_id_agenzia();
   $data_grid->addElement('checkbox', $obj_name, '');
}
il secondo è un array dell'oggetto HTML_QUickForm?

ehm,volevo dire un oggetto....

ho scritto un mucchio di c****te! scusa la confusione ma dope 2 giorni sempre sullo stesso problema non so più dove sbattere la testa! :uglystupid:

risposto 11 anni fa
Xscratch
modificato 11 anni fa
X 0 X

scrivi, in PHP, quello che vorresti ottenere, altrimenti non so cosa "tradurre" in tag Smarty

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

allora:

// array dei dati
$DATA =array(1 => array('id' => '1',
                  'nome' => 'nome_prova1',
                  'note' => 'notesadfasd'
                  ),
          2 => array('id' => '2',
                  'nome' => 'nome_prova2',
                  'note' => 'notesadfasdasdfs'
                  )
         );

// per ogni dato definisco il checkbox
for ($i=0; $i < count($DATA); $i++) {
   $obj_name = 'check_' . $DATA[$i]['id'];
   $data_grid->addElement('checkbox', $obj_name, '');
}

poi ovviamente assegno le variabili al template e faccio le mie cose.... ;)

e nel .tpl voglio una cosa così:

+--------------------------------+
+checkbox+id+nome+note+
+------------+--+-------+------+
|                |    |          |         |
|                |    |          |         |
+------------+--+-------+------+

(vabbè l'ascii è quello che è cmq penso tu abbia capito)  ::)

PS mi scuso ancora per aver creato un'altra discussione...

risposto 11 anni fa
Xscratch
X 0 X

ti rispondo nell'altra discussione.

risposto 11 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda