! [spip-dev] redéfinition des balises

Salut,

en regardant inc-index-squel je me suis dit qu'il fallait changer l'API de
la fonction calculer_champ_XXXXXX, si on veut pouvoir redéfinir facilement
des balises.

Je propose donc l'API suivante, que j'ai mis en place pour #INTRODUCTION :

function calculer_balise_INTRODUCTION($params) {
        $params->code = ...;
        return $params->retour();
}

Pour l'introduction, par exemple, cela donne :

function calculer_balise_INTRODUCTION($params) {
        $params->code = 'calcul_introduction(\'' .
                $params->boucles[$params->id_boucle]->type_requete . "',\n" .
                index_pile($params->id_boucle, "texte", $params->boucles) . ",\n" .
                index_pile($params->id_boucle, "chapo", $params->boucles) . ",\n" .
                index_pile($params->id_boucle, "descriptif", $params->boucles) . ")\n";

        return $params->retour();
}

Si on veut définir une balise perso, ou surcharger une balise existante par
une définition maison, on met dans mes_fonctions.php3 :

function calculer_balise_PERSO($params) {
        $params->code = "'mon code a exécuter'";
        return $params->retour();
}

Exemple, j'ai besoin de #CONTEXTE pour débugguer mes squelettes :

function perso_CONTEXTE ($params) {
        $params->code = 'serialize($Pile[$SP])';
        return $params->retour();
}

Evidemment il faut connaitre un peu les entrailles de SPIP, mais avec ce
modèle, moins qu'avant :slight_smile:

Tous les noms doivent changer si on en trouve de meilleurs...

-- Fil