Hallo, Bernd, Verstehe. Das heist aber eigendlich das du nur das flexform feld in der datenbank anpassen willst. Flex auslesen währe ein bonus. Um die definition deiner "soll daten-strucktur" zu haben.
In meiner Naiven Vorstellung sollten dich folgende schritte zum ziel führen: 1. eine soll datenstrucktur mit default werten definieren. 2. Für jedes element das flexform auslesen (xml2array) und auf die soll datenstrucktur mappen falls das feld vorhanden ist. 3. die strucktur als flexform_pi zurückschreiben (array2xml) Die soll datenstrucktur sollte sich doch als verschachteltes array abbilden lassen. Dafür braucht es dann doch gar kein flux. Gruss chris -----Ursprüngliche Nachricht----- Von: typo3-german-boun...@lists.typo3.org [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von bernd wilke Gesendet: Dienstag, 2. Dezember 2014 09:16 An: typo3-german@lists.typo3.org Betreff: Re: [TYPO3-german] wie benutze ich xml2array() ? Am 01.12.14 17:40, schrieb Chris Wolff - AERTiCKET AG: > Hi Bernd, > was genau versuchst du denn Zu machen? > pi_flexform lassen sich mit xml2array() lesen. (das ist genau das > wofür die funktionen entwickel wurden) > > und müsste fluid_content/flux nicht eine funkion / utility classe haben mit > denen sich flux lnhalte verarbeiten lassen. > ich habe folgende Situation: ich habe eigen fluid_content-Elemente definiert und die redakteure haben fleißig Content produziert. dann gab es neue Anforderungen und die Content-Elemente wurden verändert, die Redakterue haben neuen Content eingepflegt. und wieder Änderungen an den CEs und wieder neuer Content. Bspl: CE mit Bild und Text ursprünglich: ein Tab 'default' mit Text, Bild, Anordnung später: Tab 'Text' mit Überschrift, Überschriftenklasse, Text Tab 'Bild' mit Bild, Bildgröße, Bildunterschrift, Anordnung dabei wurden aber niemals die Daten der alten CEs in die neue Struktur der CEs gebracht! Interessanterweise hat das unter Flux 6.0/FluidContent 3.1 nie Probleme gemacht. Alles funktionierte, auch wenn die Felder nicht in der finalen Struktur gespeichert waren. Als ich dann ein Update auf Flux 7/FluidContent 4 machte wurden auf einmal die CEs mit der alten Struktur nicht mehr sauber angezeigt: Die Felder mussten jetzt genau in dem Tab stehen, in dem sie (aktuell) definiert sind. Da wir inzwischen CEs mit uid 19000 haben (~14000 undeleted CEs) bei ~14000 Seiten (einige Seiten haben nur Metainformationen und keine CEs) ist es doch recht mühsam jede Seite bzw jedes CE einzeln zu überprüfen bzw. zu öffnen und neu zu speichern. Was ich also brauche ist eine Überprüfung ob die aktuelle Struktur in pi_flexform der Definition der fluid_content-Elemente entspricht. Wie ich aber gerade noch gesehen habe wird das ganze ziemlich komplex werden, weil die Definition auch Conditions enthält: wenn checkbox-Feld gesetzt dann benutze FeldA sonst FeldB eigentlich würde ich in den pi_flexform Feldern auch gerne Aufräumen. einmal gesetzte Felder bleiben nämlich erhalten auch wenn man ein Form benutzt, dass ganz anders aufgebaut ist. bei den alten CEs, die ursprünglich mit alter Struktur erstellt wurden und die danach in der neuen Struktur bearbeitet wurden sind sowohl die alten wie auch die neuen Felder in pi_flexform bzgl obigem bspl. gäbe es zb. ohne neue Bearbeitung <sheet index="default"> <text>...</text> <bild>...</bild> <anordnung>..</anordnung> </sheet> diese Datensätze würde ich gerne identifizieren um sie zu aktualisieren (idealereweise automatisch) und mit Bearbeitung dann: <sheet index="default"> <text>...</text> <bild>...</bild> <anordnung>..</anordnung> </sheet> <sheet index="text"> <ueberschrift>..</ueberschrift> <ueberschriftenklasse>..</ueberschriftenklasse> <text>...</text> </sheet> <sheet index="bild"> <bild>...</bild> <bildgroesse...</bildgroesse> <bildunterschrift>...</bildunterschrift> <anordnung>..</anordnung> </sheet> hier wäre es schön aufzuräumen, es ginge aber auch ohne. bernd -- http://www.pi-phi.de/cheatsheet.html _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german