Non ci sono ancora!!!
la funzione php che genera l'array ora modificata è questa:
codice:
function &cicla_cat($id,&$cat_sup) {
$sql_cat=mysql_query('SELECT * FROM '.$GLOBALS['db_pref'].'categorie_produzione WHERE categoria_superiore="'.$id.'" ORDER BY categoria_pos;');
$num_cat=mysql_num_rows($sql_cat);
$cat_sup['numero_figli']=$num_cat;
if ($num_cat>0) {
$k=0;
while ($fetch_cat=mysql_fetch_assoc($sql_cat)) {
$cat_sup[$k]['ciclo']=$k;
$cat_sup[$k]['id']=$fetch_cat['categoria_id'];
$cat_sup[$k]['nome']=$fetch_cat['categoria_nome'];
cicla_cat($fetch_cat['categoria_id'],$cat_sup[$k]);
$k++;
}
}
}
questa la chiamata alla funzione ....
codice:
$elementi=array();
$elementi['ciclo']=0;
cicla_cat(0,$elementi);
nella variabile ciclo di ogni livello c'è l'indice stesso di quel livello ... il primo l'ho inizializzato a 0.
ora nel codice del tpl ho messo
codice:
{foreach item=elemento from=$elementi}
<div>
{$elemento.nome}
{foreach item=figli from=$elemento.ciclo}
<div> -> {include file="categorie_produzione/sottocategorie.tpl"}</div>
{/foreach}
</div>
{foreachelse}
Nessuna Categoria presente.
{/foreach}
e nel sottocategire.tpl
codice:
{$figli.nome}
{foreach item=figli from=$figli.ciclo}
<div> -> {include file="categorie_produzione/sottocategorie.tpl"}</div>
{/foreach}
ma ottengo un ciclo infinito :S .....
arghhhhh 
dove sbaglio? denkiu