Auteur :
• 3 juillet 2005
closeCet article a été publié il y a 11 ans 5 mois 9 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Spip offre par défaut la syndication de ses articles. Je viens de terminer un petit script permettant également de donner les derniers commentaires, un peu comme dotclear.

Voici le code des deux fichiers:

commentaires.html

<?php echo '<'.'?xml version="1.0" encoding="#CHARSET"?'.'>'; ?>
<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
<title>[(#NOM_SITE_SPIP|texte_backend)] - Commentaires</title>
<link>#URL_SITE_SPIP/</link>
<description></description>
<language>#LANG</language>

<image>
<title>[(#NOM_SITE_SPIP|texte_backend)]</title>
<url>#URL_SITE_SPIP/IMG/ruboff0.png</url>
<link>#URL_SITE_SPIP/</link>
<description></description>
</image>

<!-- tous les articles du site - syntaxe backend.php3 -->

<BOUCLE2(FORUMS){plat}{par date}{inverse}{0,10}{unique}>
<item>
<title><BOUCLE_TITRE(ARTICLES){id_article}>[(#TITRE|texte_backend)]</BOUCLE_TITRE> - #NOM</title>
<link>#URL_SITE_SPIP/#URL_FORUM</link>
<date>#DATE</date>
<description>[(#TEXTE|texte_backend)]</description>
<author>[(#NOM|texte_backend)]</author>
<dc:date>[(#DATE|date_iso)]</dc:date>
<dc:format>text/html</dc:format>
<dc:language>#LANG</dc:language>
<dc:creator>[(#NOM|texte_backend)]</dc:creator>
</item>
</BOUCLE2>
<BOUCLE3(FORUMS){plat}{par date}{inverse}{age<7}{unique}>
<item>
<title><BOUCLE_TITRE2(ARTICLES){id_article}>[(#TITRE|texte_backend)]</BOUCLE_TITRE2> - #NOM</title>
<link>#URL_SITE_SPIP/#URL_FORUM</link>
<date>#DATE</date>
<description>[(#TEXTE|texte_backend)]</description>
<author>[(#NOM|texte_backend)]</author>
<dc:date>[(#DATE|date_iso)]</dc:date>
<dc:format>text/html</dc:format>
<dc:language>#LANG</dc:language>
<dc:creator>[(#NOM|texte_backend)]</dc:creator>
</item>
</BOUCLE3>

</channel>

</rss>

Et le fichier associé, commentaires.php3

<?php
$fond = "commentaires";
$delais = 100;

// cette ligne empeche l'affichage des boutons d'administration
$flag_preserver = true;

@header("Content-type: text/xml");

include ("inc-public.php3");

?>

Be Sociable, Share!
Catégorie: Du code | Tags : ,
Vous pouvez suivre toutes les réponses à à ce billet via le flux RSS 2.0. Les commentaires et la notification par ping sont désactivés.

2 réponses

  1. 1
    Jimmy 

    merci pour ce bidouillage, bien pratique ! 🙂

  2. 2
    Alkattela 

    hmm… attractive.