Pipelines au chargement

formulaire_charger

Ce pipeline permet de modifier le tableau de valeurs renvoyées par la fonction charger d’un formulaire. Il est décrit dans le chapitre sur les pipelines : formulaire_charger

paramètre _pipeline

Ce paramètre permet de modifier le code HTML envoyé en lui faisant traverser un pipeline donné. Cette information, envoyée dans le tableau de chargement, permet d’indiquer le nom d’un pipeline et des arguments à lui transmettre. Il sera appelé au moment de l’affichage du texte du formulaire.

Exemple

SPIP utilise ce paramètre de manière générique en faisant passer tous les formulaires d’édition qui appellent la fonction formulaires_editer_objet_charger() dans un pipeline nommé editer_contenu_objet. Ce pipeline est décrit dans le chapitre consacré : editer_contenu_objet.

$contexte['_pipeline'] = array('editer_contenu_objet', array('type'=>$type, 'id'=>$id));

Le plugin CFG utilise ce paramètre pour faire passer tous les formulaires CFG écrits comme des formulaires CVT dans le pipeline editer_contenu_formulaire_cfg

$valeurs['_pipeline'] = array('editer_contenu_formulaire_cfg',
    'args'=>array(
        'nom'=>$form,
        'contexte'=>$valeurs,
        'ajouter'=>$config->param['inline'])
);

Pipeline que CFG utilise alors pour enlever du contenu non nécessaire dans le HTML transmis :

// pipeline sur l'affichage du contenu 
// pour supprimer les parametres CFG du formulaire
function cfg_editer_contenu_formulaire_cfg($flux){
    $flux['data'] = preg_replace('/(<!-- ([a-z0-9_]\w+)(\*)?=)(.*?)-->/sim', '', $flux['data']);
    $flux['data'] .= $flux['args']['ajouter'];
    return $flux;
}

Auteur Matthieu Marcillaud Publié le : Mis à jour : 08/12/09

Traductions : English, français