inspiredminds/contao-news-twitter
von inspiredminds
Projekt Webseite unter Contao News Twitter Sync
Mit dieser Extension können automatisch Tweets von einem Twitter Profil als Nachrichten in Nachrichtenarchive importiert werden. Es können außerdem automatisch Nachrichten auf einem Twitter Profil als Tweet veröffentlicht werden. Dadurch ist es möglich, ein Nachrichtenarchiv mit einem Twitter Profil synchron zu halten.
Um diese Erweiterung zu installieren, muss zuerst die composer.json
der eigenen
Contao Installation modifiziert werden. Dabei sind zwei Anpassungen notwendig: das
private Repository hinzufügen und die Abhängigkeit hinzufügen.
Um das Repository hinzuzufügen, muss folgendes in der composer.json
eingefügt werden:
{
"repositories": [
{
"type": "composer",
"url": "https://token:<YOUR_TOKEN>@packdis.inspiredminds.at/r"
}
]
}
<YOUR_TOKEN>
muss mit dem Repository Token ersetzt werden, welches von inspiredminds
geschickt wurde.
Um die Abhängigkeit hinzuzufügen, muss folgendes in der composer.json
eingefügt
werden:
{
"require": {
"inspiredminds/contao-news-twitter": "^2.0"
}
}
Nachdem diese Änderungen gemacht wurden, kann nun ein composer update
auf der
Kommandozeile oder eine Paketaktualisierung im Contao Manager durchgeführt werden.
Danach wie gewohnt das Contao Install Tool aufrufen, um die Datenbank zu aktualisieren.
Um diese Erweiterung zu konfigurieren, muss zuerst eine sogenannte »Twitter App« erzeugt werden. Die Details dieser App werden dann für die Konfiguration im Backend benötigt.
https://www.example.org/contao
.Gehe im Contao Backend zu System » Einstellungen. Dort unter Twitter App müssen Consumer Key und Consumer Secret eingegeben werden. Diese Informationen können in den Twitter App Einstellungen unter Keys and tokens gefunden werden.
Öffne die Einstellungen deines Nachrichtenarchivs. In der Sektion Twitter sync kann Twitter sync aktiviert werden. Nun stehen folgende Optionen zur Verfügung:
Authentifizierung: Bei Klick auf das Profilbild bzw. Fragezeichen kann man sich bei Twitter (re-)authentifizieren. Dies ist notwendig, wenn man Nachrichten automatisch zu Twitter posten lassen möchte. Es ist nicht notwendig sich zu authentifizieren, wenn man nur Tweets von einem Profil oder einem Hashtag holen möchte.
Profil: Das Twitter Profil, von dem Tweets geholt oder Tweets gepostet werden sollen.
Hasthtags: Liste an Hashtags durch Leerzeichen oder Komma getrennt, welche von Twitter geholt werden sollen. Achtung: wenn auch ein Twitter Profil definiert wurde, dann agiert diese Liste als Filter für die Tweets des Profiles. Ohne Angabe eines Profils werden alle Tweets zu den angegebenen Hashtags geholt.
Tweets holen: Nur wenn diese Option aktiv ist, werden Tweets vom angegebenen Profil bzw. von den angegebenen Hashtags geholt.
Tweets veröffentlichen: Nur wenn dies Option aktiv ist, werden Nachrichten auch automatisch veröffentlicht, wenn sie von Twitter geholt wurden.
Sobald ein Nachrichtenarchiv mit der Option Tweets holen konfiguriert ist, wird über den Contao Cronjob stündlich auf neue Tweets überprüft.
Contao Nachrichten werden automatisch als Tweet gepostet, wenn folgendes zutrifft:
Es kann auch eine alternative Nachricht für den Tweet definiert werden. Falls keine Nachricht definiert wird, wird die Überschrift der Nachricht als Text benutzt.
Falls die Nachricht ein Teaserbild hat, wird dieses Bild auch zum Tweet hinzugefügt.
Die Nachrichten werden minütlich über den Contao Cronjob als Tweets veröffentlicht.
In der Übersicht der Nachrichtenarchive gibt es einen Link, mit dem man die Synchronisation der Nachrichtenarchive manuell anstoßen kann.
processTweet
Die Erweiterung prozessiert Tweets und versucht den Tweet in ein passendes Format
für eine Contao Nachricht zu verwandeln. Falls die finalen Daten für die Nachricht
angepasst werden sollen, kann der processTweet
Hook benutzt werden. Als Rückgabewert
wird ein Array erwartet, das die finalen Daten enthält. Soll ein Tweet nicht als
Nachricht gespeichert werden, kann etwas leeres zurückgegeben werden.
$arrData
Die bereits prozessierten Daten für die Nachricht.$objTweet
Die originalen Daten des Tweets.$objArchive
Das Nachrichtenarchiv Objekt.changeTwitterMessage
Wenn eine Contao Nachricht als Tweet gepostet werden soll, wird entweder die Überschrift
oder der angegebene Text verwendet. Über den changeTwitterMessage
Hook kann diese
Nachricht aber nochmal automatisiert angepasst werden. Als Rückgabewert wird der
finale Text als String erwartet.
$message
Die bereits vorbereitete Nachricht.$objArticle
Der originale Nachrichtenbeitrag.$objArchive
Das Nachrichtenarchiv Objekt.In den Nachrichtentemplates stehen zusätzliche Daten zur Verfügung:
twitterData
Die Originaldaten des Tweets.tweetId
Die Tweet ID.fromTwitter
Gibt an, ob diese Nachricht ursprünglich von Twitter kommt.