Salut,
Bon, je reviens la dessus un peu après la bataille, mais j'etais sans connexion ce week end.
Alors, j'ai essayé d'ajouté un #URL_LANG pour reproduire le comportement de #MENU_LANG sous forme d'images de cette facon :
<B_langues>
<div class="menu_lang">
<BOUCLE_langues(LANGUES)>
<a href="#URL_LANG"><img src="img_lang/#ABBREV.jpg" alt="#NOM" border="0"/></a>
</BOUCLE_langues>
</div>
</B_langues>
dans mes_options, j'ai mis :
/////////////////////////////////////
// BOUCLE LANGUES
/////////////////////////////////////
$langues = array(
"abbrev" => "char(2)",
"nom" => "varchar(20)",
"url_lang" => "varchar(255)"
);
$langues_key = array(
"PRIMARY KEY" => "abbrev"
);
$GLOBALS['tables_principales']['langues'] =
array('field' => &$langues, 'key' => &$langues_key);
function boucle_LANGUES($id_boucle, &$boucles) {
$boucle = &$boucles[$id_boucle];
$separateur=join('', $boucle->separateur);
$code=<<<CODE
\$SP++;
\$code=array();
\$cible = new Link();
\$cible->delVar('lang');
\$cible = \$cible->getUrl();
\$site = lire_meta('adresse_site');
\$post = (\$site ? \$site : '..') . '/spip_cookie.php3?url='.urlencode(\$cible);
\$l= split(',', lire_meta('langues_multilingue'));
foreach(\$l as \$k) {
\$mUrl=\$post.'&var_lang='.\$k;
\$Pile[\$SP] = array('abbrev' => \$k,
'nom' => traduire_nom_langue(\$k),
'url_lang' => \$mUrl);
\$code[]=$boucle->return;
}
\$t0= join('$separateur', \$code);
CODE;
return $code;
}
ca marche mais ...
$boucle->separateur me retournait Array ???
j'ai betement remplacé par :
join('', $boucle->separateur);
mais j'aimerai comprendre ...
c'est pas deja traité (et mieux que ca ...) par le compilo ca ?
pourquoi les critères généraux ne s'appliqueraient pas ?
Cette fonction calculer_boucle fait un peu mal à la tete, mais il doit y avoir moyen de sortir les criteres généraux, non ?
Bon, pour {0,n}, ca se discute vu que MySQL le gere (mais toutes les bases ne le gerent pas...), mais {1/2},{doublons} ... c'est peut etre jouable ?
Bon, OK, j'en demande beaucoup, mais comme je sais que vous en faites beaucoup ...
En attendant, c'est deja pas mal comme ca !

@++
Fil a écrit :