Ich möchte auf diese Weise meine neuste Extension vorstellen: ttnewsgenericmarkers.
Hast du schon mal ein Feld in tt_news mehr gebraucht oder wurde eine bestimmte Funktionalität in tt_news benötigt, die du mit TS in wenigen Minuten locker hinbekommen hättest, und nun darfst du dich mit Hooks usw. beschäftigen?
Es geht auch einfacher!
Die Extension ist dazu da, TS-Konstrukte innerhalb von tt_news auszugeben, daher braucht es logischerweise Admin-Rechte. Folgende Beispiele sollen die Extension und deren Möglichkeiten erklären.
Beispiel 1 – Einfache Ausgabe eines Links
Erstelle im tt_news-Template den Marker ###GENERIC_LINK### und füge folgendes TS ein:
plugin.tt_news.genericmarkers { link = TEXT link { value = Important link typolink.parameter = www.typo3.org } }
Ergebnis ist ein Link zu www.typo3.org
Beispiel 2 – Ausgabe des Usernamens
Erstelle den Marker ###GENERIC_USERNAME### und verwende folgendes TS:
plugin.tt_news.genericmarkers { username = TEXT username.data = TSFE:fe_users|username }
Beispiel 3 – Unterschiedliche Ausgabe pro View
Erstelle den Marker ###GENERIC_TEST### und folgendes TS:
plugin.tt_news.genericmarkers { SINGLE { test = TEXT test.value = abc } test = TEXT test.value = def }
In der Single-View ist das Ergebnis „abc“ und in den anderen „def“.
Beispiel 4 – Zugriff auf Daten von tt_news
Oft benötigt man Zugriff auf die Daten vom tt-news-Artikel, zB um einen Link zu generieren oder eine bestimmte Abfrage durchführen zu können. Folgendes Beispiel zeigt wie es geht:
plugin.tt_news.genericmarkers { data = title,uid title2 = TEXT title2 { field = generic_title wrap = Title again: | } }
Mit generic_xxxx (xxxx steht für die gesetzten Felder in data = ) kann man auf alles gewünschte zugreifen.
Beispiel 5 – Erstellung eines Tip-A-Friend-Links
Das letzte Beispiel erstellt rein über TS einen tip-a-friend-Link für den Marker ###GENERIC_TIP###
plugin.tt_news.genericmarkers { tip = TEXT tip { value = Send this page to a friend typolink.parameter = 10778 typolink.additionalParams.cObject = COA typolink.additionalParams.cObject { # rawUrlEncoded link 10 = COA 10 { 10 = TEXT 10.data = TSFE:baseUrl # including all parameters from the query string. 20 = TEXT 20.typolink.parameter.data = page:uid 20.typolink.addQueryString = 1 20.typolink.addQueryString.exclude = id,tipUrl 20.typolink.returnLast = url # rawurlencode to use url as one parameter stdWrap.rawUrlEncode = 1 } wrap = &tipUrl=| } wrap = => | } }
Viel Spaß mit der Extension und ich freue mich auf Feedback