Hi,
ich muss in einem Backend-Plugin einige FlexForm Konfigurationen auslesen, jedoch ist es standardmäßig nicht möglich die Funktionen pi_initPIflexForm() in einem Backend-Plugin zu benutzen (liegt ja in einer Datei).
Wie kann ich nun diese Funktion auch im Backend-Plugin zu nutzen ohne jetzt das "Rad neu zu erfinden" zu müssen?
Wäre für eine Lösung sehr Dankbar 🙂 !
nimm doch einfach die xml2array
$arr=t3lib_div::xml2array($flexform);
t3lib_div::debug($arr,'Flexform');
Hallo,
vielen Dank, das klappt prima 🙂 , aber wieso stehen nicht die gleichene Funktionen im Backend wie im Frontend zur Verfügung?
Ich möchte gerne das Bilder generiert werden, im Frontend klappt das wunderbar aber im Backup o.O
$thumbImage = array(
'file' => 'fileadmin/img_gallery/demo/0004.jpg',
'params' => 'style="vertical-align:middle;"',
'altText' => 'altText',
'titleText' => 'titleText',
'imageLinkWrap' => 1,
'file.' => array(
'maxW' => 250,
'maxH' => 250,
),
);
$this->content.= $this->cObj->IMAGE($thumbImage);
Hast du eine Idee wie man an die Funktionen rankommt, oder muss ich eine eigene Routine schreiben !?
..Ich meine mich daran erinnern zu können, in irgend einem Manual mal was dazu gelesen zu haben, kann dir aber leider beim besten willen nicht mehr sagen welches das ist. Vielleicht einfach mal sämtliche manuals dazu überfliegen 😉
sorry und gruß
Hallo zusammen,
ich habe bin auch gerade dabei einen Wert auszulesen.
ich benötigen den Wert in einer Extension und befinde mich in der datei ext_tables.php. Dort rufe ich über file_get_contents eine exteren Datei auf. Dieser Datei muss ich eine Wert aus einem anderen Reiter anhängen.
Also so: .....contens(www.datei.tld/datei.php?wert=WERTAUSFLEXFORMFELD);
steffenk schrieb
nimm doch einfach die xml2array
$arr=t3lib_div::xml2array($flexform);
t3lib_div::debug($arr,'Flexform');
Wie bekomme ich denn jetzt diesen Wert? Steht mir das Array zur Verfügung? Kann ich mir das dann anzeigen lassen? Und was setzte ich für $flexform ein?
Ich habe folgende Ausgabe im Dateieditiermodus:
Flexform
|Line 1: Empty document|
und wenn ich auf den Seitenbaum gehe:
Flexform
| debug |
Leider weiss ichn icht weiter.
Vielen Dank,
Jörn
$arr=t3lib_div::xml2array($flexform);
t3lib_div::debug($arr,'Flexform');
Also die 2te Zeile ist nur zum debuggen gedacht und wird nicht benötigt, $arr ist ein leeres Array welches mit den Inhalten gefüllt wird. $flexform enthält aus der Datenbank tt_content die Spalte pi_flexfom (ich glaube das diese so heißt, bitte nochmal nachschauen), dieser Inhalt muß natürlich abgefragt werden.
Überprüfen ob im Array etwas enthalten ist kannst du so
echo "<pre>";
print_r($arr);
echo "</pre>";
Hallo,
soweit bin ich jetzt schon gekommen.
Allerdingi ch lese das Flexform-Feld aus der Datenbak aus. Das funktioniert auch alles.
$myID=22;
$table = "tt_content";
$fields = "*";
$where = "uid = '".$myID."'";
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($fields, $table, $where, '','','');
$row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res);
$arr=t3lib_div::xml2array($row['pi_flexform']);
Jet habe ich nur noch das Problem das ich im Moment $myID nicht gefüllt bekomme. Dazu muss ich im Backenend die uid des Contenteintrags auslesen. Daran beisse ich mir gerade die Zähne aus.
Ich komme da leider zu keiner Lösung.
Viele Grüße,
Jörn