Le but de mon exercice est de définir un plugin gérant une table MySQL et une balise dédiée.
Ce que je veux pouvoir faire, c’est une boucle du genre :
<BOUCLE_test(ARTICLES){id_rubrique=#ESPACE{PRO}}>
<a href=« #URL_ARTICLE »>#TITRE
</BOUCLE_test>
Où #ESPACE{PRO} renvoie l’identifiant d’une rubrique gérée par une table MySQL dédiée.
CREATE TABLE espace ( cle varchar(50) NOT NULL, valeur varchar(255) NOT NULL, PRIMARY KEY (cle) )
J’ai déclaré un plugin pour cela avec un répertoire balise dans lequel il y a espace.php.
Contenu de espace.php
<?php
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
function balise_ESPACE($p) {
return calculer_balise_dynamique($p,'ESPACE', array());
}
function balise_ESPACE_stat($args, $filtres) {
//les parametres passe en {...}, les filtres sont des vraiss filtres
return $args;
}
function balise_ESPACE_dyn($espace) {
$aVal = spip_fetch_array(spip_query("SELECT valeur FROM espace WHERE cle='".$espace."'"));
echo $aVal['valeur'];
}
?>
Mon problème est que si j’appelle #ESPACE{PRO} dans mon squelette , il m’affiche bien le contenu de la colonne valeur.
Mais la boucle elle, ne renvoie rien ! ![]()
<BOUCLE_test(ARTICLES)id_rubrique=#ESPACEPRO>
<a href=« #URL_ARTICLE »>#TITRE
</BOUCLE_test>
Quelqu’un peut-il m’aider à comprendre ou m’indiquer la solution ?
PS : je précise qu’il y a bien des articles publiés dans ma rubrique.
Merci.