Kategorien
- [-]Developer (94)
- API (14)
- Backend (16)
- Extensions (26)
- HTML & CSS (4)
- Typoscript (31)
- [-]Redaktionelles (15)
- Anleitungen (6)
- Tipps (6)
- Sonstiges (36)
Schlagwortwolke
| « | Mai 2012 | » | ||||
|---|---|---|---|---|---|---|
| S | M | T | W | T | F | S |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
Letzte Nachrichten
- Cookie Control und die europäische Cookie-Richtlinie
- 18.05.2012 21:41
- Schafft er es auf die erste Seite?
- 18.05.2012 14:39
- TYPO3camp Berlin 2012
- 11.05.2012 15:35
- Webdesign in Zeiten des iPad 3: und immer noch mehr Pixel.
- 10.05.2012 17:14
Letzte Kommentare
- Hallo David, das ist ein guter Tipp, werde ich mir...
- 13.05.2012 13:19
- Hallo! In der Aufzählung gehst du nicht auf den verfügbaren...
- 12.05.2012 14:35
- Müsste eigentlich so funktionieren, ich mache es hier ja...
- 10.04.2012 13:03
- Erst einmal - Danke für die Extension. Eine Frage habe...
- 10.04.2012 10:30
In eigener Sache
Peter Linzenkirchner, Lisardo Multimedia in Augsburg. Freelance und Partner für Design- und Webagenturen in Augsburg und München. Pixelgenaue Templates, valides HTML, barrierearm. TYPO3-Projekte, Extension-Programmierung und mehr ...
- << Erste
- < Vorherige
- Nächste >
- Letzte >>
Zur Zeit wird gefiltert nach: rte
Filter zurücksetzen
Mit der Extension linkhandler können im RTE (bzw. in den normalen Inhaltselementen) Links auf News-Einträge oder auf beliebige sonstige Datensätze erstellt werden. Sie funktioniert sehr gut und lässt sich ideal konfigurieren.
Installation
Normal installieren und nicht vergessen, das statische Template einzubinden. Danach funktioniert die Extension insoweit, dass man Links im RTE erstellen kann; allerdings werden diese noch nicht im Frontend geparst. Das muss über TypoScript erst konfiguriert werden.
Konfiguration des Link-Browsers im RTE
Dazu folgende Zeilen im TSconfig der Rootseite eingeben (bzw. der Seite, die auch die restliche Konfiguration des RTE enthält)
- # das erstellt einen neuen Tab im Linkbrowser. Es können mehrere erstellt werden,
- # für jede Tabelle aber nur einer.
- RTE.default.tx_linkhandler {
- # Browser für tt_news-Datensätze
- tt_news {
- # Das steht im Tab als Label
- label=Label des Tabs
- # die Tabelle, die die gewünschten Datensätze enthält
- listTables=tt_news
- # nur die Seiten im Seitenbaum zeigen, die auch die
- # gewünschen Datensätze enthalten.
- onlyPids=28,65
- }
- }
Konfiguration der Links
Die Links müssen im TypoScript-Setup konfiguriert werden. Die einfache Variante verwendet nur eine einzige Zielseite für die Singledarstellung der News:
- plugin.tx_linkhandler {
- tt_news {
- # uid der Seite, auf der die Singledarstellung der News erfolgt
- parameter = 25
- # weitere Parameter, insbesondere die richtige uid der News
- additionalParams=&tx_ttnews[tt_news]={field:uid}
- # nötig, damit {field:uid} ersetzt wird
- additionalParams.insertData=1
- # wichtig, damit cachen möglich ist.
- useCacheHash=1
- # versteckte News können nicht gelinkt werden
- forceLink = 0
- }
- }
Eine etwas komplexere Variante, die abhängig von der pid der News-Datensätze eine andere Seite für die Single-Darstellung aufruft:
- plugin.tx_linkhandler {
- tt_news {
- title=TEXT
- title.data = field:title
- parameter.stdWrap.cObject = CASE
- parameter.stdWrap.cObject {
- # abhängig vom Eintrag in pid der News-Tabelle
- key.field = pid
- # falls dieser 65 lautet
- 65 = TEXT
- # wird parameter auf 85 gesetzt, der uid der
- # Zielseite mit der Single-Darstellung
- 65.value = 85
- # Default für alle anderen Werte in pid
- default = TEXT
- # Zielseite mit uid 25
- default.value = 25
- }
- additionalParams=&tx;_ttnews[tt_news]={field:uid}
- additionalParams.insertData=1
- useCacheHash=1
- forceLink = 0
- }
- }
Man kann auch beliebige andere Tabellen ansprechen, auch aus eigenen Extensions. Hier ein Beispiel im TSConfig, das weitere Reiter im Dateibrowser des RTE erzeugt, die auf Datensätze von eigenen Extensions zugreifen:
- RTE.default.tx_linkhandler { {
- buecher {
- label = Buchtitel
- listTables=tx_buchtitel_liste
- onlyPids=68
- }
- }
Dazu dann diese Entsprechung in Setup für das Verarbeiten der Links:
- plugin.tx_linkhandler {
- tx_buchtitel_liste {
- parameter = 69
- additionalParams=&myParam;={field:uid}
- additionalParams.insertData=1
- useCacheHash=1
- forceLink = 0
- }
- }
Dabei ist tx_buchtitel_liste der Name der SQL-Tabelle, parameter die uid der Zielseite mit der Single-Darstellung. So können beliebig viele Reiter im RTE angelegt werden, die auf Datensätze in beliebigen Tabellen verweisen.
Linkhandler für t3blog
Die Einstellungen für t3blog funktionieren prinzipiell genauso. Zunächst das TSconfig:
- RTE.default.tx_linkhandler {
- # tt_news deaktivieren, da vordefiniert:
- tt_news >
- tx_t3blog_post {
- # Das steht im Tab als Label
- label=T3Blog
- # die Tabelle, die die gewünschten Datensätze enthält
- listTables=tx_t3blog_post
- # nur die Seiten im Seitenbaum zeigen, die auch die
- # gewünschen Datensätze enthalten.
- onlyPids=###hierDieEigenePid###
- }
- }
Im Setup gibt es aber eine Besonderheit, da für Links auf einen Blogeintrag neben der uid des Postings auch das Datum iausgegeben werden muss – zumindest ist das erforderlich, wenn RealURL eingesetzt wird. Hier hilft die stdWrap-Funktion mit cObject weiter:
- plugin.tx_linkhandler {
- tx_t3blog_post {
- parameter = ###deinePID###
- # weitere Parameter, hier als cObject
- additionalParams.stdWrap.cObject = COA
- additionalParams.stdWrap.cObject {
- 1 = LOAD_REGISTER
- 1 {
- year {
- field = date
- strftime = %Y
- }
- month {
- field = date
- strftime = %m
- }
- day {
- field = date
- strftime = %d
- }
- }
- 10 = TEXT
- 10 {
- value = &tx_t3blog_pi1[blogList][showUid]={field:uid}&tx_t3blog_pi1[blogList][year]={register:year}&tx_t3blog_pi1[blogList][month]={register:month}&tx_t3blog_pi1[blogList][day]={register:day}
- insertData = 1
- }
- }
- }
- # wichtig, damit Cachen möglich ist.
- useCacheHash=1
- # versteckte News können nicht gelinkt werden
- forceLink = 0
- }
- }

