Hallo,
Ich bitte darum dass ihr mir bei folgendem Problem zur Seite stehen könnt:
Ich schreibe eine Extension und möchte ein Flexform einbinden, dass ich im Backend beim "Plugin einfügen", eine Selectbox habe.
Dies funktioniert wunderbar eine Selectbox kann ich erzeugen alles kein Problem,
Mein Problem ist jetzt folgendes ich möchte jetzt diese Selectbox mit Daten befüllen, welche in einer anderen Datenbank stehen.
Ich habe mir gedacht wenn ich mit php dass Flexform erzeuge würde es ja funktionieren.
Aber natürlich habe ich nicht daran gedacht, dass ich die Mysql zugangsdaten auch übergeben muss, daher dass ganze ja flexibel sein soll und nicht mit fixen Datenbank angaben.
Bitte drignends um Hilfe.
Mfg
Dominik
Hi,
du kannst direkt in den Flexform eine Relations Tabelle definieren.
Dazu nutzt du den foreign_table Parameter:
<config>
<type>select</type>
<foreign_table>TABELLEN_NAME</foreign_table>
<foreign_table_where>AND IRGENDEIN_FELD = 0</foreign_table_where>
<size>1</size>
<minitems>0</minitems>
<maxitems>1</maxitems>
</config>
mehr dazu in der TCA-Dokumentation
Danke erstmal für die antwort,
Also dass mit foreign_table habe ich bereits schon einmal gesehen, jedoch geht dass ja nur in der typo3 datenbank und nicht auf eine andere Datenbank.
Oder irre ich mich da?
Mfg
Dominik
Oh, das mit der anderen DB hab ich ueberlesen.
Ich wuerde mal in der CoreApi nach entsprechenden Funktionen suchen.
Kurz nach connect geschaut: t3lib_DB::connectDB ?
Wenn man sich die Funktion anschaut, sieht man das auf Globale Variablen zugegriffen wird.
Du koenntest also kurzeitig die Variable TYPO3_db mit deinem Tabellen Namen ueberschreiben, um diese Tabelle auszuwaehlen.
Danke erstmal,
nur die frage ist noch wie kann ich aber so einem eigenem Feld einen TypoScript Config übergeben, daher die Datenbank Angaben im TypoScript Code Stehen von meinem Plugin.
Daher ja bei der php function in so einem Eigenen Feld keine TypoScript Config übergebn wird.
Wie kann ich mir trozdem mit irgendwelchen Globalen Variablen oder Funktionen den Code holen?
Mfg
Dominik
P.S
Danke nochmal die Antworten waren aufjedenfall schon mal hilfreich.
was spricht dagegen, das dort dann hardcodieren ohne übergabe?
georg
Weil ich dass flexibel machen will damit dass dann jeder verwenden kann,
Habs eh schon mit hardcode probiert funktioniert ja auch einwandfrei.
Nur würde dass halt gern auch flexibel machen können, daher mann dann etwas auch dazulernt.
Hallo,
alles klar:
1. erstell in deiner extension die Datei: ext_conf_template.txt
2. schreib dort zB sowas rein:
# cat=basic; type=string; label=Db name
tables = tt_address
3. mit
$tmp_confArr = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['deinextkey']);
solltest du das dann auslesen können mit
viel erfolg
georg
Hört sich mal sehr vielversprechend an, problem ist nur wie binde ich noch dieses ext_conf_template.txt ein ?
Oder sollte dies automatisch eingebunden werden?
Danke vielmals.
mfg
dominik
das wird automatisch eingebunden. die werte füllst du beim Extenesion Manager wenn du auf deine Ext klickst.
georg
Danke vielmals.
Funktioniert einwandfrei danke warst mir eine seeehr große hilfe.
Mfg
Dominik
bitte gerne, schön dass es funktioniert
georg