XML parsen

PHP
<?php
 
$xml='<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<T3FlexForms>
<data>
<sheet index="tx_i_search_s_general">
<language index="lDEF">
<field index="tx_i_search_results">
<value index="vDEF">12</value>
</field>
<field index="tx_i_search_newsearch">
<value index="vDEF">0</value>
</field>
<field index="tx_i_search_search">
<value index="vDEF">tx_calendar_item:title,teaser:title,teaser,descr: pid;tx_veguestbook_entries:entry:entry:pid;tx_lzgallery_galleries:title,descr_short:title,descr_short:pid</value>
</field>
<field index="tx_i_search_startingpoint">
<value index="vDEF">10</value>
</field>
<field index="tx_i_search_recursive">
<value index="vDEF">3</value>
</field>
<field index="tx_i_search_exclude">
<value index="vDEF">20</value>
</field>
<field index="tx_i_search_submit">
<value index="vDEF">tx_calendar_item:uid:tx_calendar_pi1[f1];tx_lzgallery_galleries:uid:tx_lzgallery_pi1[showUid]</value>
</field>
<field index="tx_i_search_alias">
<value index="vDEF">40=39;46=47;29=25</value>
</field>
<field index="tx_i_search_expires">
<value index="vDEF">0</value>
</field>
</language>
</sheet>
<sheet index="tx_i_search_s_template">
<language index="lDEF">
<field index="tx_i_search_results">
<value index="vDEF"></value>
</field>
<field index="tx_i_search_newsearch">
<value index="vDEF"></value>
</field>
<field index="tx_mhajaxsearch_tmpl">
<value index="vDEF"></value>
</field>
<field index="tx_mhajaxsearch_style">
<value index="vDEF"></value>
</field>
</language>
</sheet>
<sheet index="tx_i_search_s_weight">
<language index="lDEF">
<field index="tx_i_search_results">
<value index="vDEF"></value>
</field>
<field index="tx_i_search_newsearch">
<value index="vDEF"></value>
</field>
<field index="tx_i_search_evaluation">
<value index="vDEF">50</value>
</field>
<field index="tx_i_search_click">
<value index="vDEF">10</value>
</field>
</language>
</sheet>
<sheet index="tx_i_search_s_preview">
<language index="lDEF">
<field index="tx_i_search_width">
<value index="vDEF"></value>
</field>
<field index="tx_i_search_height">
<value index="vDEF"></value>
</field>
</language>
</sheet>
</data>
</T3FlexForms>';
 
$cfgArr = t3lib_div::xml2array($xml);
t3lib_div::debug($cfgArr);
 
?>
data
tx_i_search_s_general
lDEF
tx_i_search_results
vDEF 12
tx_i_search_newsearch
vDEF 0
tx_i_search_search
vDEF tx_calendar_item:title,teaser:title,teaser,descr: pid;tx_veguestbook_entries:entry:entry:pid;tx_lzgallery_galleries:title,descr_short:title,descr_short:pid
tx_i_search_startingpoint
vDEF 10
tx_i_search_recursive
vDEF 3
tx_i_search_exclude
vDEF 20
tx_i_search_submit
vDEF tx_calendar_item:uid:tx_calendar_pi1[f1];tx_lzgallery_galleries:uid:tx_lzgallery_pi1[showUid]
tx_i_search_alias
vDEF 40=39;46=47;29=25
tx_i_search_expires
vDEF 0
tx_i_search_s_template
lDEF
tx_i_search_results
vDEF
tx_i_search_newsearch
vDEF
tx_mhajaxsearch_tmpl
vDEF
tx_mhajaxsearch_style
vDEF
tx_i_search_s_weight
lDEF
tx_i_search_results
vDEF
tx_i_search_newsearch
vDEF
tx_i_search_evaluation
vDEF 50
tx_i_search_click
vDEF 10
tx_i_search_s_preview
lDEF
tx_i_search_width
vDEF
tx_i_search_height
vDEF
8 Kommentare
#4 David Bruchmann schrieb am 13.09.2008 03:09

Hallo Steffen,

 

auf lists.netfielders.de/pipermail/typo3-dev/2008-March/028585.html habe ich gesehen, daß Du Dich mit "section" innerhalb FlexForms beschäftigt hast. Leider habe ich keine Doku gefunden die diesbezüglich etwas mehr hergibt.

Hast Du eine Erweiterung oder eine Beschreibung, wie man das einsetzen kann?

Mir schwebt eine dynamische Section innerhalb FF vor, die man vergleichbar den COs innerhalb TV einsetzen kann, um von bestimmten Inhaltselementen (bzw. Gruppen) eine unbestimmte (benutzerdefinierte) Anzahl erzeugen zu können.

Oder habe ich das mögliche Einsatzgebiet generell missverstanden?

 

Vielen Dank

David

#5 David Bruchmann schrieb am 13.09.2008 16:54

So, auch wenn die geschilderte Funktionalität so erst einmal nicht gegeben ist, poste ich nachfolgend mal ein Beispiel (wenn man weiss wie es geht ist es einfach ). Big Grins

 

Allerdings habe ich noch nicht herausgefunden, wie man Titel für die "Section" vergeben kann, hier währe ich für einen Tip dankbar.

 

 

<ROOT>

<TCEforms>

<sheetTitle>Sheet 2</sheetTitle>

</TCEforms>

<type>array</type>

<section>1</section>

<el>

<something_1>

<type>array</type>

<TCEforms>

<label>Section 1</label>

</TCEforms>

<el>

<text1>

<TCEforms>

<label>Flex-Form-Feld</label>

<config>

<type>input</type>

</config>

</TCEforms>

</text1>

<text2>

<TCEforms>

<label>Flex-Form-Feld</label>

<config>

<type>input</type>

<size>20</size>

<max>40</max>

<eval>trim</eval>

</config>

</TCEforms>

</text2>

</el>

</something_1>

<something_2>

<type>array</type>

<TCEforms>

<label>Section 2</label>

</TCEforms>

<el>

<text1>

<TCEforms>

<label>Flex-Form-Feld</label>

<config>

<type>input</type>

</config>

</TCEforms>

</text1>

<text2>

<TCEforms>

<label>Flex-Form-Feld</label>

<config>

<type>input</type>

<size>20</size>

<max>40</max>

<eval>trim</eval>

</config>

</TCEforms>

</text2>

</el>

</something_2>

<something_3>

<type>array</type>

<TCEforms>

<label>Section 3</label>

</TCEforms>

<el>

<text1>

<TCEforms>

<label>Flex-Form-Feld</label>

<config>

<type>input</type>

</config>

</TCEforms>

</text1>

<text2>

<TCEforms>

<label>Flex-Form-Feld</label>

<config>

<type>input</type>

<size>20</size>

<max>40</max>

<eval>trim</eval>

</config>

</TCEforms>

</text2>

</el>

</something_3>

</el>

</ROOT>

#6 David Bruchmann schrieb am 13.09.2008 17:03

... ich hatte Label eingetragen ( <label>Section 2</label> ), diese werden allerdings nicht angezeigt.

Und <sheetTitle>Sheet 2</sheetTitle> braucht man natürlich nur, wenn man mit Sheets arbeitet.

Frage bleibt: wie kann ich Titel für Sections anzeigen?

#7 steffen schrieb am 16.09.2008 09:28

Dein Kommentarasdf Cry

#8 David Bruchmann schrieb am 21.09.2008 23:35

Hallo Steffen,

 

Mein Kommentar zum Artikel:

 

Naja, netter "Trick". TYPO3 selbst und viele Extensions machen davon direkt oder meist indirekt (z.B. über pi_getFF()) Gebrauch, deswegen ist es eigentlich nichts Neues. Trotzdem ist es natürlich Nützlich sich die Basics in Erinnerung zu rufen.

 

Aufgrund Deiner Seite und Deiner Beiträge in der Mailingliste weiss ich, daß der "Trick" für Dich auch keine besondere Schwierigkeit darstellt.

Dort habe ich auch mehrere Beiträge von Dir zu meinem (zugegebenermassen themenfremden) Beitrag gefunden, deswegen hatte ich mir erhofft etwas mehr zu erfahren.

 

Viele Grüße

David

#1 andre schrieb am 10.10.2007 12:22

hi steffen,

 

nach einiger forschung stell ich mir die frage, ob TYPO3 im falle eines php-includes (zB über php_page_content) nicht in der lage ist, xml-dateien zu öffnen, die vom inkludierten file als configuration genutzt werden.

 

die anwendung liegt unter fileadmin, ich sage "include", aber das frontend gibt mir zurück, dass die xml-datei dort nicht geöffnet werden kann...

 

kannst du mir dazu was sagen?

weiß nicht recht weiter...

 

danke!!

andre

#2 steffen schrieb am 10.10.2007 15:30

kannst Du das mal genauer beschreiben?

Ich denke Du hast Pfadprobleme, Du musst alles immer relativ vom root betrachten.

#3 andre schrieb am 10.10.2007 16:36

oh mann!

 

du hast recht...ich hab den pfad vor lauter code nicht mehr gesehen, sozusagen.

 

mensch, wie ein kleiner hinweis ein großes problem löst.

 

danke dir!! smile

einen Kommentar schreiben
Typo3