Sur le squelette de ma contrib http://www.spip-contrib.net/article689.html
Le menu de gauche m'affiche :
a.. Accueil
b.. %##7@
c.. %##7@
d.. %##7@
a.. Racine
Avec 3 fois %##7@ à la place du titre de l'article.
En mode dégub :
-boucle :
<BOUCLE_Racines(ARTICLES){titre_mot =MENURACINE }{par num titre}>
<li><?php if ($id_article==#ID_ARTICLE) { ?><strong><?php } ?><a
href="[/(#URL_ARTICLE)]"
title="[(#DESCRIPTIF)]">[(#LOGO_ARTICLE)][(#TITRE|supprimer_numero|HTMLEntit
iesFr)]</a><?php if ($id_article==#ID_ARTICLE) { ?></strong><?php } ?></li>
</BOUCLE_Racines>
-code:
<?php
//
// <BOUCLE_Racines(ARTICLES) {titre_mot =MENURACINE} {par num titre}>
//
function BOUCLE_Racineshtml_793f914574d3c664d9af56894e970d25(&$Cache,
&$Pile, &$doublons, &$Numrows, $SP) {
$old_lang = $GLOBALS['spip_lang'];
// REQUETE
$result = spip_abstract_select(
array("0+articles.titre AS num",
"articles.id_article",
"articles.descriptif",
"articles.lang"), # SELECT
array("mots_articles AS lien_mot","mots AS mots","articles AS
articles"), # FROM
array("articles.id_article=lien_mot.id_article",
"lien_mot.id_mot=mots.id_mot",
"(mots.titre = 'MENURACINE')",
"articles.statut='publie'"), # WHERE
'articles.id_article', # GROUP
'num', # ORDER
'', # LIMIT
'', # sous
1, # compte
'articles', # table
'_Racines'); # boucle
$t0 = "";
$SP++;
// RESULTATS
while ($Pile[$SP] = @spip_fetch_array($result)) {
if ($x = $Pile[$SP]["lang"]) $GLOBALS['spip_lang'] = $x; //
lang_select
$Cache['id_article'][$Pile[$SP]['id_article']] = 1; //
invalideurs
$t0 .= ('
<li><?php if ($id_article=='
. /* #ID_ARTICLE */ $Pile[$SP]['id_article']
. ') { ?><strong><?php } ?><a href="'
. /* #URL_ARTICLE */ (($t1 =
interdire_scripts(htmlspecialchars(vider_url(generer_url_article($Pile[$SP][
'id_article']))))) ?
(('/') . $t1) :
(''))
. '" title="'
. /* #DESCRIPTIF */
interdire_scripts(traiter_raccourcis($Pile[$SP]['descriptif']))
. '">'
. /* #LOGO_ARTICLE */ affiche_logos(cherche_logo_objet('ARTICLE',
$Pile[$SP]['id_article'], true, true), '', '', false)
. '%##7@</a><?php if ($id_article=='
. /* #ID_ARTICLE */ $Pile[$SP]['id_article']
. ') { ?></strong><?php } ?></li>
');
}
$GLOBALS['spip_lang'] = $old_lang;
@spip_free_result($result);
return $t0;
}
?>
-Résultat
les premiers appels à cette boucle ont donné les résultats ci-dessous: