Facebook findet Bilder in tt_news nicht
Soll eine Facebook Statusmeldung gepostet werden, die sich auf einen Beitrag von tt_news bezieht, so kann es vorkommen, dass Facebook das Bild nicht anzeigt.
Das passiert in der Regel dann, wenn die TYPO3-Seite viele Bilder enthält und Facebook nicht erkennt, welches das Vorschaubild ist.
Damit Facebook das News-Image aus tt_news erkennt muss man Facebook ein bischen auf die Sprünge helfen. Dafür hat Facebook den OpenGraph entwickelt. Über ein paar Metatags zeigt man Facebook, welches das richtige Vorschaubild oder der Vorschautext ist.
TYPO3 unterstützt diese Metatags für Opengraph nicht automatisch, sondern es ist ein bischen Arbeit im TYPOScript notwendig.
Der folgende Auszug erzeugt zusätzliche Metatags im Namespace og, die den Titel, die URL und den Verweis auf das Vorschau-Bild enthalten. Als Vorschaubild dient das erste Bild im Feld Images des tt_news-Artikels.Der Code wird einfach in das Setup-Feld des TYPO3-Templates kopiert. Am Besten auf der Seite, die die Single-Ansicht der tt_news-Artikel enthält.
Anzupassen sind noch die Werte {PID der Detailansicht} und {PID des NEWS-Ordners}.
page.headerData { 100 = RECORDS 100 { source = {GP:tx_ttnews|tt_news} source.insertData = 1 tables = tt_news conf.tt_news > conf.tt_news = TEXT conf.tt_news { field = title wrap = <meta property="og:title" content="|"> htmlSpecialChars = 1 } } 110 = HTML 110.value.char = 10 120 = TEXT 120 { data = register:newsSubheader wrap = <meta property="og:description" content="|"> htmlSpecialChars = 1 } 130 < .110 140 = RECORDS 140 { source = {GP:tx_ttnews|tt_news} source.insertData = 1 tables = tt_news conf.tt_news > conf.tt_news = TEXT conf.tt_news { typolink { parameter = {PID der DETAIL-Ansicht} additionalParams.cObject = TEXT additionalParams.cObject { field = uid wrap = &tx_ttnews[tt_news]=| } returnLast = url } wrap = <meta property="og:url" content="{TSFE:baseUrl}|"> insertData = 1 } } 150 < .110 160 = CONTENT 160 { stdWrap.if.isTrue.data = GP:tx_ttnews|tt_news table = tt_news select { pidInList = {PID des NEWS-Ordners} recursive = {PID des NEWS-Ordners} where = CHAR_LENGTH(image) > 0 andWhere.cObject = TEXT andWhere.cObject { data = GP:tx_ttnews|tt_news intval = 1 wrap = uid = | } } renderObj = TEXT renderObj { field = image split { token = , cObjNum = 1 1.cObject = IMG_RESOURCE 1.cObject { file { import = uploads/pics/ import.current = 1 width = 350m height = 350m } stdWrap.wrap = <meta property="og:image" content="{TSFE:baseUrl}|"> stdWrap.insertData = 1 } } } } 170 < .110 }