Bonjour,
Je souhaiterais savoir s'il est possible de configurer le flux RSS de Piwigo pour qu'il affiche une simple chronologie des dernières images ajoutées, et essentiellement des infos sur ces images (titre, description, auteur)
Voici un exemple de flux que je souhaiterais créer pour ma galerie Piwigo : http://orbitmars.futura-sciences.com/ga … ns/rss.php
En fait, je trouve que le titre actuel du flux RSS Piwigo "1 nouvelle image (Août 24)" et la vignette seule accompagnée du texte "1 nouvelle image (Images récentes)" n'est pas vraiment pratique... peut-être que je ne suis pas le seul à penser cela ?
Je préfèrerais un flux RSS de ce type :
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
<channel>
<title>La Galerie d'Images</title>
<item>
<title>titre de l'image</title>
<link>http://url-de-l'image</link>
<pubDate>Mon, 05 Apr 2010 12:22:23 +0100</pubDate>
<description><![CDATA[<a href="http://url_de_l'image"><img src="http://source_image.jpg" /></a><br />description (auteur)]]></description>
<guid>http://url-de-l'image</guid>
</item>
Est-ce possible avec Piwigo ?
Merci d'avance !s
Hors ligne
Disons qu'il faudrait améliorer la création du flux RSS. Pour le moment, il n'y a rien dans ce sens :-(
Hors ligne
Ok !... Je vais donc attendre, tenter de bidouiller ou de trouver d'autres solutions.
Sinon, je me disais que le plugin Piclens génère bien des flux RSS pour afficher les images ? De plus, ces flux RSS sont assez "simples", du genre de ce que j'évoquais dans mon post précédent (liste des images + titre et descriptions).
On pourrait peut-être envisager d'adapter cette fonction déjà développée pour le plugin Piclens pour proposer un flux rss "simplifié" de type chronologique, non ?
Hors ligne
C'est une bonne idée !
Je ne suis pas développeur mais c'est une piste fort intéressante à creuser. Avec cet exemple, on peut facilement "pomper" dessus.
Si quelqu'un veut bien s'y essayer...
:-)
Hors ligne
Je viens de regarder un peu comment était fait le plugin Piclens et il me semble que le fichier qui serait à adapter est "plugins/piclens/generate_rss.php".
Mais il faudrait le modifier pour qu'il affiche en sortie un flux RSS présentant les dernières images ajoutées dans la galerie (dans toutes les catégories)... et ça je ne sais pas le faire ! :o(
Avis aux développeurs donc ! :o)
à bientôt,
OrbitWeb
Hors ligne
Bon, finalement après un peu de bidouillage j'ai presque réussi à obtenir le flux RSS que je voulais ! :o)
Voici ma recette (il faut avoir le Plugin Piclens installé) :
- dans le répertoire "plugins/piclens" j'ai dupliqué les fichiers "generate_rss.php" et "piclens-rss.php", j'ai renommé les copies en "generate_rss_feed.php" et "feed-rss.php" en changeant dans le fichier "feed-rss.php" à la ligne 27 le "generate_rss.php" en "generate_rss_feed.php".
- dans le fichier "generate_rss_feed.php", j'ai remplacé le contenu du script entre les lignes 533 et 605 par le code suivant :
// Show rss item for a picture
echo "<item>\n";
echo "<title><![CDATA["
.parse($obj->my_config['piclens_rss_name'], $row, $plugins_ExtendedDesc, $obj->my_config['piclens_maxcomment_nb'])
."]]></title>\n";
// not media:description for normal piclens to show description
echo '<description><![CDATA[<a href="'.$url.'"><img src="'.$thumbnail_url.'" /></a><br />'
.parse($obj->my_config['piclens_rss_desc'], $row, $plugins_ExtendedDesc, $obj->my_config['piclens_maxcomment_nb'])
.']]> </description>';
/*
// Extended description for the comment and category name
if ($plugins_ExtendedDesc) // Extended description compatibility
{
if (isset($row['catname']))
$row['catname'] = trigger_event('render_element_description',$row['catname']);
if (isset($row['comment']))
$row['comment'] = trigger_event('render_element_description',$row['comment']);
}
// Titre de l'image dans Piclens
switch($obj->my_config['piclens_name_image'])
{
case 2 :
// format nom fichier
echo "<title><![CDATA["
.(($obj->my_config['piclens_cat_view'] && isset ($row['catname'])) ? $row['catname']." - " : "")
. $row['file'] . "]]></title>\n";
break;
case 3 :
// format nom de la photo
if (isset($row['name']))
echo "<title><![CDATA["
.(($obj->my_config['piclens_cat_view'] && isset ($row['catname'])) ? $row['catname']." - " : "")
.$row['name']."]]></title>\n";
else
echo "<title><![CDATA["
.(($obj->my_config['piclens_cat_view'] && isset ($row['catname'])) ? $row['catname']." - " : "")
. $row['file'] . "]]></title>\n";
break;
default :
// format nom fichier : taille
echo "<title><![CDATA["
.(($obj->my_config['piclens_cat_view'] && isset ($row['catname'])) ? $row['catname']." - " : "")
. get_thumbnail_title($row) . "]]></title>\n";
break;
}
*/
echo "\n";
// link
echo "<link>" . $url . "</link>\n";
echo "<guid isPermaLink=\"false\">\"" . $row['id'] . "\"</guid>\n";
$extension = explode(".", $row['file']);
$extension = $extension[sizeof($extension)-1];
echo "</item>\n";
echo "\n";
}
echo "</channel>\n";
echo "</rss>";
La visualisation du flux obtenu se fait à l'url ce type là :
http://www.votre-site.com/piwigo/plugin … ecent_pics
Au final, cela me donne un flux semblable à celui ci (http://orbitmars.futura-sciences.com/ga … ns/rss.php)* sauf qu'il me manque les dates d'ajouts des images, c'est à dire de quoi remplir la balise <pubDate> des images dans mon flux rss... et là je ne sais pas comment faire car il faudrait sans doute écrire un code php allant chercher la date de chaque image. Quelqu'un pourrait-il m'aider pour ce point là ?
* je ne donne pas l'adresse du flux RSS que je vient de construire pour éviter que ma galerie en construction ne soit accessible par Google and co... mais n'hésitez pas à me contacter pour avoir le lien en mp.
Dernière modification par orbitweb (2010-08-26 15:08:36)
Hors ligne
orbitweb a écrit:
* je ne donne pas l'adresse du flux RSS que je vient de construire pour éviter que ma galerie en construction ne soit accessible par Google and co... mais n'hésitez pas à me contacter pour avoir le lien en mp.
Pourquoi ne pas "éclater" ton URL afin que l'on puisse tous, sans te demander, accéder à ton exemple par un petit bidouillage, tout en laissant Google de coté ?
;-)
Hors ligne
Merci.
Par contre, si on ajoute disons... 30 photos, cela va créer 30 lignes dans mon flux RSS ??? Sachant que les lecteurs n'affichent pas toujours toutes les liens... Perso, je n'en affiche que les 10 derniers.
Hors ligne