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="" />.