Bonjour,
J'aurai une proposition de rectification à proposer sur cette page https://programmer.spip.net/Qu-est-ce-qu-un-pipeline
car dans mes options, un pipeline n'est pas forcément chargé lors de l'appel, ce qui entraine un erreur php au niveau notice, l'index n'étant pas défini.
La concaténation proposé par la doc:
$GLOBALS['spip_pipeline']['nom_du_pipeline'] .= "|nom_de_la_fonction";
entraine alors un erreur.
Suffirait d'abord d'initialiser à chaine vide si l'index n'existe pas avant de concaténer:
if ( !isset($GLOBALS['spip_pipeline']['pipeline_plugins']) ) $GLOBALS['spip_pipeline']['pipeline'] = "";
// Exemple d'ajout dans le pipeline "insert_head" :
$GLOBALS['spip_pipeline']['pipeline_plugins'] .= "|nom_de_la_fonction";
function nom_de_la_fonction($flux) {
return $flux .= "Ce texte sera ajoute";
}
pas grave car juste des erreurs de niveau notice, mais pour avoir essuyé ces erreurs, et les avoir corrigé ainsi après avoir cherché le pourquoi, je souhaitais partager et effectuer cette proposition.
if ( !isset($GLOBALS['spip_pipeline']['pipeline_plugins']) ) $GLOBALS['spip_pipeline']['pipeline'] = "";
// Exemple d'ajout dans le pipeline "insert_head" :
$GLOBALS['spip_pipeline']['pipeline_plugins'] .= "|nom_de_la_fonction";
function nom_de_la_fonction($flux) {
return $flux .= "Ce texte sera ajoute";
}
Mauvais copier-coller mais l'idée est là, vérifier que le pipeline est bien traversé sur la page à partir de laquelle le fichier mes_options est appelé (s'il n'est pas traversé l'initialiser à string vide, pour ne pas que la concaténation avec .= ne provoque une erreur):
if ( !isset($GLOBALS['spip_pipeline']['pipeline_plugins']) ) $GLOBALS['spip_pipeline']['pipeline_plugins'] = "";
// Exemple d'ajout dans le pipeline "insert_head" :
$GLOBALS['spip_pipeline']['pipeline_plugins'] .= "|nom_de_la_fonction";
function nom_de_la_fonction($flux) {
return $flux .= "Ce texte sera ajoute";
}
Tous mes " placés pour exemple de code dans l'article ont été remplacés par des " malgré le recours à la balise code, c'est normal ? Y a moyen de garder les guillemets ?