Zum Inhalt springen

Problem mit Flexform nach editierung

Erstellt am 25. November 2009 · 9 Antworten · letzte Antwort am 27. September 2011

Tags: Frage

lidahun ·

Liebes Forum, ich bin erneut auf eure Hilfe angewiesen.

Habe mich soeben daran gemacht eine erste eigene Extension zu Programmieren, soweit läuft alles reibungslos bis auf die Erstellung der Flexforms.

Ich arbeite mit einer flexform_ds.xml Vorlage aus dem Buch das ich für die Programmierung konsultiere. Das funktioniert super und wird im BE angezeigt. Nur möchte ich meine Flexform noch etwas abändern, da entstehen jedoch die ersten Probleme.

Stelle folgendes komisches Phänomen fest:

- Sobald ich etwas in der Datei flexform_ds.xml ändere erscheint im BE unter "Erweiterungsoptionen:" folgende Fehlermeldung: "Data Structure ERROR: Line 27: Mismatched tag" (Der Fehler erscheint übrigens immer auf dieser Zeile auch wenn ich etwas weiter unten hinzufüge/ändere)

- Ok vielleicht habe ich etwas verbockt, kein Problem, ich kopiere den Sourcecode aus der Datei "SIKO-flexform_ds.xml" welche ich glücklicherweise vorhin erstellt habe und publiziere die Datei wieder.

- Keine Änderung trotz ursprünglichem Sourcecode und löschen des TYPO3 Caches. Die Fehlermeldung erscheint im BE weiterhin

- Kopiere ich aber die Datei "SIKO-flexform_ds.xml" und bennene diese "flexform_ds.xml" und publiziere diese anschliessend, funktioniert alles.

Ich steh ziemlich auf dem Schlauch und habe schon Stunden vergoogelt. Hat mir jemand eine Idee?

Hier sonst vorsorglich mein XML-Source

<t3datastructure>
  <meta type="array" />
  <langchildren>0</langchildren>
  <langdisable>1</langdisable>
  </meta>
  <root>
    <type>array</type>
    <el>
      <templatefile>
        <tceforms>
          <label>Template</label>
          <config>
            <type>input</type>
<eval>trim</eval>
<wizards type="array">
        <_PADDING>2<_PADDING>
        <link type="array" />
                <type>popup</type>
                <title>Link</title>
                <icon>link_popup.gif</icon>
                <script type="text/javascript">browse_links.php?mode=wizard&act=file</script>
                <params type="array">
                        <blindlinkoptions>page,url,mail,spec</blindlinkoptions>
		</params>
		<jsopenparams>height=300,width=500,status=0,menubar=0,scrollbars=1</jsopenparams>
	</link>
</wizards>
          </config>
        </tceforms>
      </templatefile>
      <searchmask>
        <tceforms>
          <label>Suchmaske für:</label>
          <config>
            <type>radio</type>
            <items type="array">
              <numindex index="0" type="array">
                <numindex index="0">Kaufobjekte</numindex>
                <numindex index="1">buy</numindex>
              </numindex>
              <numindex index="1" type="array">
                <numindex index="0">Mietobjekte</numindex>
                <numindex index="1">rent</numindex>
              </numindex>
            </items>
          </config>
        </tceforms>
      </searchmask>
    </el>
  </root>
</t3datastructure>
lidahun ·

Ok habe ich gemacht, habe die Einstellung im Install-Tool übernommen.

Das Ganze jedoch ohne Erfolg habe immer noch die selben Probleme...
Danke aber auf jeden Fall für den Hinweis!

lidahun ·

OK werds versuchen!

Komisch ist ja dass es zur Zeit mit dem oben geposteten Source-Code funktioniert. Böser Zufall?

froemken ·

Böser Zufall bestimmt nicht. So weiß ich ja gar nicht, ob der obere XML jetzt der funktionierende ist, oder der war, in dem du schon etwas eingepflegt hast?! Auch weiß ich nicht welchen Teil du eingepflegt hast. Hinzu kommt, dass per FTP hochgeladene Dateien meist nicht in UTF-8 abgespeichert wurden und schon gibt es ähnliche Probleme...also immer per Copy&Paste arbeiten, wenn uft-filesystem gesetzt ist.
Dann weiß ich auch nicht wo du den Code her hast. Mein Code z.B. ist von wiki.typo3.org und dem Buch von Dmitry Dulepov.

Also lass uns zusammen erst mal entdecken, was wie wo gemacht wurde und wir werden es gelöst bekommen.

Zufall gibt's bei mir nicht :-)

Stefan

lidahun ·

Das nenne ich doch Mal eine flotte Hilfestellung.

Helfe mir ebenfalls mit dem Buch von Dmitry Dulepov und habe mir auch die Hilfsdateien heruntergeladen.

Erklärs nochmal so. Folgender XML-Source ist zur Zeit bei mir im Einsatz und funktioniert:

<T3DataStructure>
  <meta type="array">
  <langChildren>0</langChildren>
  <langDisable>1</langDisable>
  </meta>
  <ROOT>
    <type>array</type>
    <el>
      <templateFile>
        <TCEforms>
          <label>Template</label>
          <config>
            <type>input</type>
<eval>trim</eval>
<wizards type="array">
        <_PADDING>2<_PADDING>
        <link type="array">
                <type>popup</type>
                <title>Link</title>
                <icon>link_popup.gif</icon>
                <script>browse_links.php?mode=wizard&amp;act=file</script>
                <params type="array">
                        <blindLinkOptions>page,url,mail,spec</blindLinkOptions>
		</params>
		<JSopenParams>height=300,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
	</link>
</wizards>
          </config>
        </TCEforms>
      </templateFile>
      <searchMask>
        <TCEforms>
          <label>Suchmaske für:</label>
          <config>
            <type>radio</type>
            <items type="array">
              <numIndex index="0" type="array">
                <numIndex index="0">Kaufobjekte</numIndex>
                <numIndex index="1">buy</numIndex>
              </numIndex>
              <numIndex index="1" type="array">
                <numIndex index="0">Mietobjekte</numIndex>
                <numIndex index="1">rent</numIndex>
              </numIndex>
            </items>
          </config>
        </TCEforms>
      </searchMask>
    </el>
  </ROOT>
</T3DataStructure>

Soweit alles i.O wenn ich jetzt diese aber beispielsweise mit einer zweiten Optionsschaltergruppe ausstatten möchte, siehe Source:

<T3DataStructure>
  <meta type="array">
  <langChildren>0</langChildren>
  <langDisable>1</langDisable>
  </meta>
  <ROOT>
    <type>array</type>
    <el>
      <templateFile>
        <TCEforms>
          <label>Template</label>
          <config>
            <type>input</type>
<eval>trim</eval>
<wizards type="array">
        <_PADDING>2<_PADDING>
        <link type="array">
                <type>popup</type>
                <title>Link</title>
                <icon>link_popup.gif</icon>
                <script>browse_links.php?mode=wizard&amp;act=file</script>
                <params type="array">
                        <blindLinkOptions>page,url,mail,spec</blindLinkOptions>
		</params>
		<JSopenParams>height=300,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
	</link>
</wizards>
          </config>
        </TCEforms>
      </templateFile>
      <searchMask>
        <TCEforms>
          <label>Suchmaske für:</label>
          <config>
            <type>radio</type>
            <items type="array">
              <numIndex index="0" type="array">
                <numIndex index="0">Kaufobjekte</numIndex>
                <numIndex index="1">buy</numIndex>
              </numIndex>
              <numIndex index="1" type="array">
                <numIndex index="0">Mietobjekte</numIndex>
                <numIndex index="1">rent</numIndex>
              </numIndex>
            </items>
          </config>
        </TCEforms>
      </searchMask>
      <newMask>
        <TCEforms>
          <label>Test:</label>
          <config>
            <type>radio</type>
            <items type="array">
              <numIndex index="0" type="array">
                <numIndex index="0">Option 1</numIndex>
                <numIndex index="1">1</numIndex>
              </numIndex>
              <numIndex index="1" type="array">
                <numIndex index="0">Option 2</numIndex>
                <numIndex index="1">2</numIndex>
              </numIndex>
            </items>
          </config>
        </TCEforms>
      </newMask>
    </el>
  </ROOT>
</T3DataStructure>

erhalte ich im Backend wieder die Fehlermeldung "Data Structure ERROR: Line 27: Mismatched tag".

Zum Glück habe ich die funktionierende Datei "flexform_ds.xml" vor diesem Test kopiert und auf "SIKO-flexform_ds.xml" umbenannt.

Jetzt das Phänomen:

- Wenn ich den Source aus "SIKO-flexform_ds.xml" kopiere und bei "flexform_ds.xml" einfüge und die Datei anschliessend publiziere erscheint die selbe Fehlermeldung

- Lösche ich aber die inkorrekte Datei "flexform_ds.xml" und bennene die Datei von "SIKO-flexform_ds.xml" zu "flexform_ds.xml" um und publiziere ich auch diese anschliessend funktionierts...

Langsam denke ich, dass die Datei irgendwie falsch angelegt wurde oder komisch publiziert wird (arbeite übrigens mit Dreamweaver CS4).

Danke im Voraus für deine super Hilfe!

froemken ·

Also: Nach wie vor glaube ich, das es an UTF-8 liegt. In meiner flexform habe ich als erste Zeile noch das stehen:

<?xml version="1.0" encoding="UTF-8"?>

Im schlimmsten Fall wär ich auch bereit mich mal ne Viertelstunde bei Dir aufzuschalten um mal zu suchen. Aber das musst du entscheiden. Vielleicht hat ja sonst noch ein anderer eine Idee.

Stefan

voancea ·

Falls noch jemand interessiert ist, die Lösung ist:

Statt

<_PADDING>2<_PADDING>

muss mann

<_PADDING>2</_PADDING>

schreiben.

froemken ·

Au weia. Danke Dir. Zu Zeiten von Editoren, die diese Tags automatisch wieder korrekt schließen, wäre ich nie auf den Trichter gekommen, dass der schließende Slash futsch ist.