[TYPO3-german] Referenzierung eines beliebigen Datenbankfeldes in TypoScript

JoH asenau info at cybercraft.de
Thu Sep 27 13:00:12 CEST 2007


> ist es möglich, per TypoScript ein beliebiges Datenbankfeld mit
> variablem Wert für den Key zu referenzieren?

Ja.

> xyz.data = DB : [Tabelle] : [Key] : [Feld]
>
> scheint nur für explizite Werte für "[Key]" zu funktionieren. Ein
> Ausdruck wie:
>
> xyz.data = DB : pages : uid : alias
>
> im TS-Template, um den Wert des Feldes "alias" der aktuellen Seite in
> der Default-Sprache zu bekommen, funktioniert nicht. Wenn ich "uid"
> durch einen festen Wert ersetze geht es.
>
> Gibt es einen Trick, wie "[Key]" doch variabel gemacht werden kann.
>
> Übrigens:
>
> xyz.data = field : alias    bzw.    xyz.field = alias
>
> hilft mir nicht weiter, weil das bei installierter Extension
> "multilingual_alias" den Alias in der aktuell angezeigten Sprache und
> nicht der Default-Sprache liefert.

xyz.dataWrap = DB : [Tabelle] : {field:uid} : [Feld]
xyz.wrap3 = {|}
xyz.insertData = 1

die 3 nach dem wrap ist kein Tippfehler!
field:uid kann dabei durch alle Varianten von getText ersetzt werden also
z.B. auch

xyz.dataWrap = DB : [Tabelle] : {GPvar:meinParameter} : [Feld]
xyz.wrap3 = {|}
xyz.insertData = 1

Die Vorgehensweise ist bedingt durch die festgelegte Reihenfolge der
Funktionsaufrufe in stdWrap folgendermaßen:

Zuerst wird per dataWrap der Wert von GPvar:meinParameter in die Zeile
eingefügt, die zu diesem Zeitpunkt noch als einfacher Text behandelt wird.
Danach kommt wrap3 zum Zug und packt die geschweiften Klammern drumrum.
Das Ganze wird nun an insertData übergeben, wegen der geschweiften Klammern
als getText erkannt und entsprechend abgearbeitet.

HTH

Joey

-- 
Wenn man keine Ahnung hat: Einfach mal Fresse halten!
(If you have no clues: simply shut your gob sometimes!)
Dieter Nuhr, German comedian
openBC/Xing: http://www.cybercraft.de
T3 cookbook: http://www.typo3experts.com




More information about the TYPO3-german mailing list