Ce pipeline permet d’agir lors de l’édition d’un élément éditorial, lorsque l’utilisateur édite les champs ou change le statut de l’objet. Il est appelé juste avant l’enregistrement des données.
On peut s’en servir pour contrôler ou modifier les contenus postés, ajouter des valeurs, etc.
Plusieurs informations sont transmises dans un tableau comportant 2 clés :
-
data
contient les champs et leurs valeurs. -
args
contient des informations sur la table, l’objet édité, et l’action effectuée.
Voici une liste des actions effectuées dans le core :
- controler : contrôler les contenus postés d’un objet, cf.
controler_contenu()
dans ecrire/inc/editer - modifier : modifier le contenu d’un objet, cf.
objet_modifier_champs()
dans ecrire/inc/modifier.php - instituer : changer le statut d’un objet, cf.
objet_instituer()
dans ecrire/action/editer_objet.php
Exemple d’appel dans objet_modifier_champs()
:
$champs = pipeline('pre_edition',
array(
'args' => array(
'table' => $spip_table_objet, // compatibilite
'table_objet' => $table_objet,
'spip_table_objet' => $spip_table_objet,
'type' => $objet,
'id_objet' => $id_objet,
'champs' => isset($options['champs']) ? $options['champs'] : array(), // [doc] c'est quoi ?
'serveur' => $serveur,
'action' => isset($options['action']) ? $options['action'] : 'modifier'
),
'data' => $champs
)
);