formulaire_fond
permet de personnaliser le code HTML d’un formulaire.
Il permet, par exemple, de modifier le code généré pour un formulaire uniquement dans l’espace privé, ou dans une certaine rubrique, ou selon d’autres conditions.formulaire_fond
Le pipeline
Exemple
{{Changer un label de saisie seulement dans un secteur donné :}}function exemple_formulaire_fond($fond) {
if (
$fond['args']['form'] == 'editer_article'
and $id_parent = $fond['args']['contexte']['id_parent'];
and $id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique=' . intval($id_parent)
and $id_secteur === 7
) {
$fond['data'] = str_replace(_T('info_sous_titre'), _T('exemple:label_exemple'), $fond['data']);
}
return $fond;
}
albums
: }}
Le plugin album se sert de ce pipeline (source) pour insérer un message d’avertissement après le titre au cas où l’ajout des documents aux albums est désactivé :
function albums_formulaire_fond($flux) {
if ($flux['args']['form'] == 'configurer_documents'
and $avertissement = albums_message_cfg_documents(true)) {
// On cherche le titre du formulaire : <h3 class="titrem">...</h3>
// et on le fait suivre du message
$cherche = "/(<h3[^>]\s*class\s?=\s?['\"]titrem.*<\/h3>)/is";
$remplace = "<!--extra-->$avertissement";
$flux['data'] = preg_replace($cherche, $remplace, $flux['data']);
}
return $flux;
}
Auteur Publié le : 13/03/19