[TYPO3-german] Referenzierung eines beliebigen Datenbankfeldes in TypoScript

Rolf Gründler gruendler at ngi.de
Mon Oct 1 07:49:30 CEST 2007


Hallo Joey,

ich möchte die Sache noch etwas verfeinern und folgende Logik umsetzen:

Weise xyz den Wert des Feldes "alias" aus "pages" zu und führe den Wrap

<a href="|.html">

durch. Falls "alias" leer ist, weise xyz den Wert von "uid" zu und führe den
Wrap

<a href="|.html?&L=1">

durch.

Den ersten Teil habe ich durch Deinen Hinweis hinbekommen:

xyz.dataWrap = DB : pages : {field:uid} :  alias
xyz.wrap3 = <a href="{|}.html">
xyz.insertData = 1

Nur mit dem 2. Fall tue ich mich noch schwer. Da "xyz.ifEmpty" weit vor den
Wraps ausgeführt wird und nach "xyz.insertData" keine Wraps mehr vorgesehen
sind, habe ich es nicht umsetzen können.

xyz.dataWrap = DB : pages : {field:uid} :  alias // field:uid

hilft leider auch nicht weiter, da in den beiden Fällen ja unterschiedliche
Wraps vorgenommen werden sollen.

Weißt Du einen Rat? Schon jetzt vielen Dank für Deine Mühe!

Gruß Rolf



"JoH asenau" <info at cybercraft.de> schrieb im Newsbeitrag
news:mailman.1.1190890802.19500.typo3-german at lists.netfielders.de...
> > 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