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

Antwort per Email an