Lösung einer Twitter Cards Implementation für TYPO3 und tt_news.
Einzubinden beispielsweise als Extension Template auf der Single-View-Seite von tt_news.
### Twitter Card: page.headerData.500 = TEXT page.headerData.500.value ( <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@" /> ) temp.twitterTitel = COA temp.twitterTitel { 10=CONTENT 10.table= tt_news 10.select { selectFields = title pidInList = {$news_pid.value} # set constant or insert PID andWhere { # grab the querystring vars and assign it to uid data = GP:tx_ttnews|tt_news wrap = uid = | intval = 1 } } #10.orderBy = sorting 10.renderObj =COA 10.renderObj { 10=TEXT 10 { field = title stripHtml = 1 crop = 70 | ... } } wrap = <meta name="twitter:title" content="|" /> } page.headerData.505 < temp.twitterTitel temp.twitterDescription = COA temp.twitterDescription { 10=CONTENT 10.table= tt_news 10.select { selectFields = bodytext pidInList = {$news_pid.value} # set constant or insert PID max = 1 andWhere { # grab the querystring vars and assign it to uid data = GP:tx_ttnews|tt_news wrap = uid = | intval = 1 } } 10.renderObj =COA 10.renderObj { 10=TEXT 10 { field = bodytext stripHtml = 1 crop = 200 | ... } } wrap = <meta name="twitter:description" content="|" /> } page.headerData.510 < temp.twitterDescription
Wichtig ist, dass <meta name="twitter:site" content="@" />
noch mit einem Twitteraccount gefüllt werden kann, der als Ansprechpartner dient. Dies ist jedoch nicht mehr zwingend erforderlich. Daher kann die Zeile 5 auch einfach entfernt werden, so denn kein Account angegeben werden soll.
Eine Erweiterung um die Bilder, die in der News benutzt werden, wäre relativ einfach nach o.a. Schema umzusetzen. Das META-Tag, welches hier von Twitter erwartet wird, ist <meta name="twitter:image" content="" />
.