Bonsoir,
Je place ce sujet dans la catégorie bug mais j'avoue peut-être me tromper.
En développant mon plugin de galerie Cooliris, j'ai constaté un fonctionnement étrange.
Ce plugin génère un fichier .rss contenant la description de l'album à affiché. Ce fichier peut être (selon le paramétrage) créé à deux moments : lors de l'affichage du contenu (pas conseillé) et/ou lors de l'enregistrement à l'édition du contenu (conseillé).
Dans ce dernier cas j'ai placé l'appel au code réalisant cette génération dans le trigger "onAfterSaveField". Pour construire le nom du fichier, j'utilise 3 informations :
- le nom du champ
- l'id de l'item de contenu enregistré
- la version de l'item de contenu enregistré
ceci afin de bien respecter les fonctions de versioning de FLEXIcontent
Pour cette dernière information - la version -, j'effectue une recherche en bdd car elle n'est pas disponible via les paramètres passés à la fonction onAfterSaveField (ce serait d'ailleurs bien utile dans un but d'optimisation car je pense que cette information est "connue" en amont de l'appel).
Seulement voilà, je constate que la version que je récupère n'est pas la dernière mais la précédente :evil:
J'en déduis logiquement que les enregistrements des informations de l'item (contenu) enregistré ne sont pas encore totalement réalisés, contrairement à ce que peut laisser penser le nom du trigger on
AfterSaveField.
Je ne sais dire s'il s'agit d'un bug ou d'un fonctionnement voulu - après tout ou parle de "field" et non d'"item" - mais j'avoue qu'il serait bien pratique que l'on puisse récupérer l'ensemble des données de l'item qui vient d'être enregistré (le mieux encore serait de les avoir en paramètre lors de l'appel)!
Voilà si les dev de flexi peuvaient méditer la dessus et nous faire part de leurs sentiments ?