Articles taggés flux rss
eZPublish Import Flux RSS personnalisé
2eZPublish propose d’importer des données via un flux RSS (Administration / Syndication). Cette fonctionnalité est très pratique lorsque le flux RSS en question est normé. Notamment avec les éléments <channel> et <item>. En revanche si le flux est un peu farfelu cela pose problème.
Pourquoi ?
L’assistant propose de mapper les champs du flux RSS sur les champs d’une classe d’objet (voir capture ci-dessous). Or il propose uniquement les valeurs classiques d’un flux :

Comment ajouter de nouveaux champs personnalisés pour l’import rss sous eZPublish ?
- Créer une extension nommée comme vous le souhaitez (ex: myImportRss)
- Dans cette extension créer un répertoire rss
- Dans ce dossier rss créer un fichier qui à pour but d’overrider le fichier rssimport.php, le nommer nomdevotreextension+rssimport.php (ex : myImportRssrssimport.php
- Activer votre extension dans le site.ini de votre siteaccess administration.
- Compléter votre fichier myImportRssrssimport.php en overridant la fonction rssFieldDefinition() :
<?php
// Nom de la classe doit être <active_extension> + 'rssimport'
class myImportRssrssimport
{
public function rssFieldDefinition()
{
//Définir la structure des champs personnalisés de votre xml personnalisé (exemple avec une balise events ci dessous)
return array( 'events' => array( 'elements' => array( 'id',
'ref',
'titre',
'datedebut',
'datefin')));
}
}
?>
Une fois votre fonction rssFIeldDefinition() personnalisée vous pourrez voir apparaitre vos nouveaux champs dans la liste déroulante de l’éditeur d’import RSS. Ensuite vous n’avez plus qu’à les mapper via l’assistant à votre classe et le tour est joué !