Dataflow est un projet libre mis en œuvre par Code Rhapsodie dont le but est de gérer facilement les flux d'entrée et de sortie dans votre projet Symfony.
Son intégration au CMS eZ Platform permet de remplacer l'ancienne extension SQLi Import utilisé sur eZ Publish.
La version 2.2 a récemment été publiée et elle apporte un filtre prêt à l'emploi pour la plupart des cas.
Ce filtre évitera la sauvegarde des contenus eZ qui n'ont pas été modifiés depuis la dernière exécution du flux.
Voici la liste des champs (fields/attributs) nativement gérés par le filtre :
Si le content type du flux contient uniquement des champs de ce type, alors le filtre peut être utilisé nativement. Dans le cas contraire, vous allez devoir ajouter un service de comparaison de champ.
Note: L'utilisation du filtre avec un content type ayant des champs non gérés est contre productif. Le temps de traitement va s'allonger car les contenus seront comparés alors qu'un type de champ non géré est considéré comme différent et provoquera la mise à jour systématique du contenu.
<pre><?php
use CodeRhapsodie\EzDataflowBundle\Core\FieldComparator\AbstractFieldComparator;
use eZ\Publish\Core\FieldType\Value;
//[...]
class MyFieldComparator extends AbstractFieldComparator
{
//[...]
protected function compareValues(Value $currentValue, Value $newValue): bool
{
// Return true if values are identical, false if values are different.
}
}</pre>
Puis l'enregistrer en tant que service Symfony avec le tag coderhapsodie.ezdataflow.field_comparator et le type de champs traité par votre comparateur.
<pre># Service declaration
App\FieldComparator\MyFieldComparator:
parent: 'CodeRhapsodie\EzDataflowBundle\Core\FieldComparator\AbstractFieldComparator'
tags:
- { name: 'coderhapsodie.ezdataflow.field_comparator', fieldType: 'my_field_type_identifier' }</pre>
Votre service est prêt, vous pouvez utiliser le filtre dans votre flux.
A vous de jouer !
Une question ? Besoin d'aide ? Contactez-nous ! Nous sommes à votre disposition pour vous accompagner dans toutes les étapes de votre projet.
Crédit photo : pxfuel.com
Comment calculer dynamiquement des frais de port ? La documentation officielle qui explique comment créer ...
Comment créer un nouveau type d'attribut produit dans Ibexa Commerce ?
A la recherche d'un poste de travail temporaire ou permanent ? Vous recherchez un environnement ...
Après une découverte de surface d'Ibexa Commerce, entrons plus dans le détail pour comprendre son ...
Ibexa DXP propose un module pour gérer des produits pour la réalisation d'un site e-commerce. ...
Voici une présentation d'IbexaMailing, un module qui ajoute la gestion des newsletters à Ibexa. IbexaMailing est ...
C'est la dernière occasion de vous souhaitez le meilleur pour cette année 2024 et surtout ...
En ce début d'année, en ce mois de janvier, mois des grandes résolutions, dépensons moins!Prenez ...
Nous sommes très heureux et fiers d'être nominés aux Ibexa Partner Excellence Awards 🏆 dans ...
Comment calculer dynamiquement des frais de port ? La documentation officielle qui explique comment créer ...
Comment créer un nouveau type d'attribut produit dans Ibexa Commerce ?
A la recherche d'un poste de travail temporaire ou permanent ? Vous recherchez un environnement ...
Après une découverte de surface d'Ibexa Commerce, entrons plus dans le détail pour comprendre son ...
Ibexa DXP propose un module pour gérer des produits pour la réalisation d'un site e-commerce. ...
Voici une présentation d'IbexaMailing, un module qui ajoute la gestion des newsletters à Ibexa. IbexaMailing est ...
C'est la dernière occasion de vous souhaitez le meilleur pour cette année 2024 et surtout ...
En ce début d'année, en ce mois de janvier, mois des grandes résolutions, dépensons moins!Prenez ...
Nous sommes très heureux et fiers d'être nominés aux Ibexa Partner Excellence Awards 🏆 dans ...