Unsere Snippets

Override Funktion in Verbindung mit Einzelansicht und globalen Parametern

Folgender Einsatzfall, man möchte für eine Einzelansicht einer Extension entsprechend META Tags setzen (inwieweit Suchmaschinentechnisch das relevant ist sei dahin gestellt). Man möchte dafür aber jetzt nicht der Extension herumpfuschen, brauch man ja auch nicht ! Ich sag nur Typoscript

Auf einer Seite für eine Einzelansicht einer Extension wie etwa der tt_news würde allerdings dann immer der Text aus der jeweils aktiven Seite stehen, für die Meta Description oder die Meta Keywords. Die Extension tt_news stellt für solche Fälle ein Register bereit für die META-Keywords, was uns hier aber nicht weiterhilft. Für die META Description fehlt allerdings ein solches Register erstmal bei der tt_news.

Wir behelfen uns daher anders.

Das folgende Script ermöglich das entsprechend.

page.meta.description = TEXT
page.meta.description.data = page:description
page.meta.description.override.cObject = COA
page.meta.description.override.cObject {
                     
10 = TEXT
                      10.if.isTrue.data = GP:tx_irfaq_pi1|showUid
                      10.data = GP:tx_irfaq_pi1|showUid
                      10.noTrimWrap = | {DB:tx_irfaq_q:|:q} |
                      10.insertData = 1
                  
                      11 = TEXT
                      11.if.isTrue.data = GP:tx_ttnews|tt_news
                      11.data = GP:tx_ttnews|tt_news
                      11.noTrimWrap = | {DB:tt_news:|:subtitle} |
                      11.insertData = 1
 } 

Der Kniff ist der DB Parameter womit ein einzelnes Datenbankfeld in wrap Methodik anhand seines GET Parameters ausgewählt wird, aus einer Tabelle der TYPO3 Datenbank. Alternativ könnte man hier bei mehreren Feldern auch mit cObj RECORDS arbeiten was wesentlich mehr Möglichkeiten bietet, je nach Aufgabenstellung des Projektes.

Im oberen Beispiel lesen wir den Subtitel eines tt_news Eintrag aus und setzen ihn anstatt, der normalen META Description. 

Kategorie: Typoscript
Ansprechpartner: Timo Prüssing (www.mediengarage.de)
« Zurück