[TYPO3-german] wie benutze ich xml2array() ?
bernd wilke
t3ng at bernd-wilke.net
Tue Dec 2 11:59:17 CET 2014
Am 02.12.14 11:31, schrieb Chris Wolff - AERTiCKET AG:
> 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.
nun ja. ich kann ja nciht ausschließen, dass sich die datenstruktur
nciht noch einmal ändert. da wäre es natürlich schön wenn ich auf
Knopfdruck alles wieder richten kann, bzw. überhaupt erstmal die Info
habe, ob anpassungen notwendig werden.
> In meiner Naiven Vorstellung sollten dich folgende schritte zum ziel führen:
>
> 1. eine soll datenstrucktur mit default werten definieren.
dafür wollte ich die Definition der FC-CE (Fluid_content
ContentElemente) nutzen.
aber da gibt es conditions und auch dynamische Arrays (mit 0-n Elementen).
> 2. Für jedes element das flexform auslesen (xml2array) und auf die soll datenstrucktur mappen falls das feld vorhanden ist.
ja. so dachte ich es mir. aber xml2array() ist dafür nicht brauchbar, da
arrays nicht abgebildet werden können [1].
> 3. die strucktur als flexform_pi zurückschreiben (array2xml)
im Idealfall bereinigt, so dass unbenötigte (oder alte) Felder entfernt
wurden.
> Die soll datenstrucktur sollte sich doch als verschachteltes array abbilden lassen. Dafür braucht es dann doch gar kein flux.
dafür brauche ich kein Flux. die Definition der FC-CEs benutzt
flux-Definitionen und legt damit die Struktur der Daten für pi_flexform
fest.
Primär ist nachher dann fluid_content für das Rendering zuständig, aber
so wie es aussieht greift das auch auf die Datendefinition (mit Flux)
zurück, da mit neueren Versionen der vollständige XML-Pfad zum Auselesen
benutzt wird.
[1] bei folgendem XML
<tag1>
<tag2 index="1">...1...</tag2>
<tag2 index="2">...2...</tag2>
<tag2 index="3">...3...</tag2>
</tag1>
kommt mit xml2array folgends raus:
array(
'tag1' => array (
'tag2' => ...3...
)
)
keine Daten von <tag2 index="1"> oder <tag2 index="2">
bernd
--
http://www.pi-phi.de/cheatsheet.html
More information about the TYPO3-german
mailing list