Akilia

Accueil > Pages > Exemple d’utilisation du pipeline affiche_droite (SPIP)

Exemple d’utilisation du pipeline affiche_droite (SPIP)

jeudi 1er janvier 2009

L’objet de ce bout de code était de simplifier la gestion de contenu pour le rédacteur du site.

Ce rédacteur devait associer à des articles des document PDFs qui étaient stockés dans une rubrique. Il fallait alors montrer dans la page de rédaction de l’article la liste de ces documents PDF avec leur titre et leur identifiant SPIP.

$GLOBALS['spip_pipeline']['affiche_droite'] .= "|pdf_mom";

function pdf_mom($flux) {
        $id_art         = $flux['args']['id_article'];
        $id_rub = intval(_request('id_rubrique'));
        if ($id_rub == '')  $id_rub                = sql_getfetsel('id_rubrique', 'spip_articles', 'id_article=' . intval($id_art));
       
        if ($flux['args']['exec']=='articles_edit' AND $id_rub == 12 ) {
                $pdf = sql_select ("docs.id_document AS id_doc, docs.titre AS tit", "spip_documents AS docs LEFT JOIN spip_documents_liens AS liens ON liens.id_document=docs.id_document", "liens.objet='rubrique' AND liens.id_objet='11' AND docs.extension='pdf'", "","docs.id_document");
                while ($row = sql_fetch($pdf)) {
                        $id_pdf = $row["id_doc"];
                        $titre = $row["tit"];
                        $totale .= "<div style='float:left; width:65%;  font-size:10px;'>".$titre."</div>";
                        $totale .= "<div style='float:right; width:22%; font-weight:bold;'>doc".$id_pdf."</div>";                       
                        $totale .= "<div style='clear: both; height: 3px;'></div>";
                }
                $out = debut_cadre_enfonce("mompdf.png", true,"","MoM'pdf tag"). $totale .fin_cadre_enfonce(true);
                $flux['data'] .= $out;
        }
        return $flux;
}