moin,
um Werte aus eine Flexform auslesen zu können, musst du eine Ext. oder eine Funktion erstellen die dir den Wert zurückliefert.
Armin
Hi all,
ich habe ein Problem und trete momentan ziemlich auf der Stelle.
Ich habe die Extension fe_newsedit erweitert und die Kategorieauswahl ins Backend verlagert. Die Kategorieauswahl wird auch brav in dem Flexform des ContentElements gespeichert.
Im Frontend bekomme ich aber die Kategorie ID nicht ausgelesen. (Aktiviere ich die FE Kateogrie Auswahl klappt alles.)
Jetzt dachte ich mir, dass ich im TS Setup einfach den Wert category mit dem Wert aus meinem Flexform überschreibe, aber ich habe keinen blassen Dunst, wie ich die Flexform Werte im TS Setup auslesen kann...
Bzw. ob es einen anderen sinnvollen Weg gibt, wie ich an meine Kategorie ID komme!
Am liebsten hätte ich es halt im TS Setup:
// Creating
create.fields = title,datetime,image,imagecaption,imagealttext,imagetitletext,related,short,bodytext,a uthor,author_email,news_files,links,type,keywords,archivedate,ext_url,hidden,category
create.show_fields = title,bodytext,short,image
create.overrideValues {
hidden = 1
datetime = now
category = ???
}
Und statt den drei Fragezeichen würde ich halt gerne die ID aus dem Flexform meiner Extension auslesen...
hat jemand eine Idee???
moin,
um Werte aus eine Flexform auslesen zu können, musst du eine Ext. oder eine Funktion erstellen die dir den Wert zurückliefert.
Armin
Nichts kommt von selbst, sogar eine Dummheit muss man erst machen.
Tipps und Tricks zu TYPO3: http://typo3.intervation.de
Folge mir auf http://twitter.com/intervation
Agentur: Ideenwerft Werbeagentur
Hallo Armin,
Danke für die Antwort!
Leider steh ich immer noch wie der Ochs vorm Berge. Hast Du zufällig ein Beispiel oder einen Link parat, der das ganze etwas transparent darstellt?
Danke Dir
Sven
moin,
Wert aus Flexform per TS lesen
Armin
Geändert von Armin (01.01.2007 um 23:20 Uhr)
Nichts kommt von selbst, sogar eine Dummheit muss man erst machen.
Tipps und Tricks zu TYPO3: http://typo3.intervation.de
Folge mir auf http://twitter.com/intervation
Agentur: Ideenwerft Werbeagentur
@Achim: Zum verlinkten Beispiel
Die Funktion "t3lib_div::xml2array()" ist hier nicht nötig, denn ihr wird ein Array statt XML übergeben. Die Zeile 35 müsste demnach eigentlich heißen:
Danke für das Snippet, hab's eingesetzt und es läuft.PHP-Code:$flex_array = $this->cObj->data[''.$conf['field'].''];
Geändert von Martin Terber (10.04.2011 um 10:50 Uhr)
Suche Linktauschpartner - Themen: Reisen und Übersetzungen.
Konnte ich helfen, dann hilf mir: Meine Themen | Martin Terber - Typo3 & PHP
Kann evtl jemand das Snippet hier posten? Armins Seite funktioniert bei mir nicht und komme immer auf die Startseite - würds dringend brauchen. :)
Bitte markiere Deinen Thread als Gelöst, wenn er es ist! So geht das!
Hast Du ihn eventl. selbst gelöst? Dann lass uns an der Lösung teilhaben!
TYPO3Blog.at - TYPO3 Videotutorials | Josef Florian Glatz
KEINE PM'S MEHR, wenn es sich um Fragen handelt, die IN das Forum gehören!
Hmmm... 404. Habs einfach aus dem Google Cache geholt :)
typo3.intervation.de::Snippets::Wert aus Flexform per TS lesen
Suche Linktauschpartner - Themen: Reisen und Übersetzungen.
Konnte ich helfen, dann hilf mir: Meine Themen | Martin Terber - Typo3 & PHP
Plus der Vollständigkeit halber hier der Originalinhalt:
Wert aus Flexform per TS lesen
@ http://typo3.intervation.de
Zur Zeit ist es nicht möglich per TS ein Flexform-Werte direkt auszulesen. Eine kleine USER-Funktion macht dies aber möglich. Damit die umfangreiche Konfigurationsmöglichkeit von TYPO3 weiter genutzt werden kann, wird zum auslesen des Datensatz aus das CObject RECORDS und für den Flexformwertes auf USER zurückgegriffen.
TypoScript:
# Hier müssen Sie evtl. den Pfad zur flexform_order.php anpassen
includeLibs.flexform_order_pi = fileadmin/flexform_order.php
temp.flexform = RECORDS
temp.flexform {
tables = tt_content
source = 214
conf.tt_content = COA
conf.tt_content {
10 = USER
10 {
userFunc = user_flexform_order_pi->field
# Name des Feldes mit <b style="color: black; background-color: rgb(153, 255, 153);">Flexform</b> (XML)
field = tx_templavoila_flex
# Name des <b style="color: black; background-color: rgb(153, 255, 153);">FlexForm</b>-Data
flex_data = field_a69d3f
# Sheet Pointer, standard ist sDEF
sheet_pointer = sDEF
# Sprache, standard ist lDEF
lang = lDEF
# Value, standard = vDEF
value_def = vDEF
}
}
}
lib.footer.2221 < temp.flexformUSER - Funktion
Jetzt erstellen sie eine PHP-Datei mit folgenden Inhalt:
.PHP-Code:<?php
require_once(PATH_tslib.'class.tslib_pibase.php');
class user_flexform_order_pi extends tslib_pibase {
function field($content, $conf) {
$this->pi_loadLL();
$this->pi_setPiVarDefaults();
$this->pi_initPIflexForm();
$flex_array = $this->cObj->data[''.$conf['field'].''];
$tv_field = $this->pi_getFFvalue($flex_array, $conf['flex_data'],$conf['sheet_pointer']);
$content .= $tv_field;
return $content;
}
}
?>
Suche Linktauschpartner - Themen: Reisen und Übersetzungen.
Konnte ich helfen, dann hilf mir: Meine Themen | Martin Terber - Typo3 & PHP
Danke vielmals! Ja Google-Cache - stimmt... Danke!
Hab Armin bereits darüber informiert.. sobald er Zeit findet wird er das Problem fixen. Ich vermute mal es hängt mit RealUrlkonfig zusammen.. weil ohne Realurl kommt man drauf.
Bitte markiere Deinen Thread als Gelöst, wenn er es ist! So geht das!
Hast Du ihn eventl. selbst gelöst? Dann lass uns an der Lösung teilhaben!
TYPO3Blog.at - TYPO3 Videotutorials | Josef Florian Glatz
KEINE PM'S MEHR, wenn es sich um Fragen handelt, die IN das Forum gehören!
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen