Zum Inhalt springen

XML nach Mapping immer kaputt!

Erstellt am 14. Januar 2009 · 4 Antworten · letzte Antwort am 24. April 2009

Tags: Frage

Torsten.​E ·

Ich habe in den XML-Daten z.B. folgenden Eintrag:

<typoscript>
<![CDATA[
  10 = COA
  10 < lib.beispielHaus.BildGross
]]>
</typoscript>

Wenn ich bei diesem FCE das Mapping erweitere/ändere, dann fliegen immer die manuelle Einträge raus.
Da es mehrere Einträge sind, ist es ganz schön aufwendig, jedesmal alles wieder nachzuändern.

Gibt's da irgendwie einen anderen Weg, damit der Fehler nicht auftritt.

Torsten.E

daniz78 ·

Leider nein!

Mittlerweile werden zwar schon einige manuellen Änderungen beibehalten...
...doch mein Weg ist immer noch:

1. alte DS in Texteditor kopieren
2. Mapping ändern und speichern
3. manuelle Änderungen in neue DS integrieren

Ciao, daniz

froemken ·

Genau für sowas ist das "local processing" Feld da. Dort könnt ihr meinetwegen die komplette Datenstruktur nochmals rein kopieren und ändert nur das was ihr braucht. Hat den Vorteil bei erneutem Mapping ist nicht alles weg.

Macht euch in Sachen local Processing aber bitte vorher schlau...ihr müsst die Daten in einer ganz bestimmten Art und Weise dort eintragen.

Torsten.​E ·

Das hört sich doch super an.

Darf ich trotzdem vielleicht nach einem kleinen
Beispiel fragen, weißt, ja: "das Auge ißt mit"

Grüße

Torsten

froemken ·

Aber wirklich nur ein kleines 😃

XML:

<xml>
  <type>bla</type>
  <meta>irgendwas</meta>
  <config>
    <punkt1>true</punkt1>
    <check>1</check>
  </config>
  <ende>trallala</ende>
</xm>

local processing:

<xml>
  <config>
    <check>0</check>
  </config>
</xm>

Diese Einträge sind zu erst einmal völliger Quatsch und sollen nur das Vorgehen...die Denkensweise erklären!!

Im ersten Script haben wir ALLE erforderlichen "Einstellungen", die für das DS relevant sind. Wenn wir dort den Eintrag "check" von 1 auf 0 setzen und irgendwann später über TV noch ein Feld hinzufügen würden, würde aus den check 0 wieder eine check 1 werden.

Damit dem nicht so ist gibt es das local processing. Dort gebt ihr nur noch den "directen pfad" zur Eigenschaft "check" an und ändert dort die 1 auf eine 0.

Auf diese Weise ist es völlig wurscht, was mit der XML-DS-Struktur im ersten Feld passiert, dank local processing wird immer der check 1 in eine 0 verwandelt.

Kurz: Alle Einträge aus der XML-DS-Struktor, die nicht zum Pfad zu "check" gehören, können getrost entfernt werden. Der Rest kommt in local processing rein und kann dort weiter bearbeitet werden.

Am besten kopiert ihr Euch den ganzen Kram in z.B. pdPad und schaltet dort um auf XML...dann fällt das Löschen einfacher.

So schaut z.B. ein local processing von mir aus:

<T3DataStructure>
	<ROOT type="array">
		<el type="array">
			<field_ebslogo type="array">
				<tx_templavoila type="array">
					<TypoScript>
	10 = IMAGE
	10.file = GIFBUILDER
	10.file {
		XY = 221,72
		10 = IMAGE
		10.file = fileadmin/templates/www/images/logo_en_de.gif
		10.file.maxW = 221
		10.file.minW = 221
		10.file.maxH = 72
		10.file.minH = 72
	}
	10.stdWrap.typolink.parameter = 1
	10.params = class="logo"
					</TypoScript>
				</tx_templavoila>
			</field_ebslogo>
		</el>
	</ROOT>
</T3DataStructure>

PS: Jetzt habe ich doch wieder mehr geschrieben...Mist :-)

Stefan