![]() |
Willkommen, Gast ( Anmelden | Registrierung ) [ Hilfe | Mitglieder | Suche ]
![]() ![]() |
![]() |
![]()
Beitrag
#1
|
|
![]() Advanced Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 ![]() |
Modulname:
--------------------------------------------------------------------------- Twitter-Timeline Status: --------------------------------------------------------------------------- stable Bechreibung: --------------------------------------------------------------------------- Das Modul bindet automatisch die letzten Tweets aus Twitter in der Website ein. Dabei kann man auswählen, ob die öffentliche Timeline (public timeline) oder die Timeline der Freunde(friends timeline = Personen, denen man folgt) oder die eigene Timeline (user timeline = nur die Beiträge, die man selbst verfasst hat) angezeigt werden. Features: --------------------------------------------------------------------------- - Caching um die Twitterlimitierungen (70 Abfragen in der Stunde) zu umgehen - Modulbeschreibungen und Konfigurationshinweise im Modul Autor(en): --------------------------------------------------------------------------- Andreas Fritsch Torsten Hofmann Lizenz: --------------------------------------------------------------------------- Creativ Common http://creativecommons.org/licenses/by/3.0/de/ BSD (für die verwendete Klasse) http://classes.verkoyen.eu/overview/bsd Benötigte Sefrengo Version: --------------------------------------------------------------------------- >= 01.91.00 (Sefrengo 1.2 alpha2) Installation: --------------------------------------------------------------------------- Zunächst muss ein Ordner cache angelegt werden. Dieser befindet sich auf der gleichen Ebene wie der der Ordner projekt01. In der Standardinstallation ist cache ein Unterordner von cms. Es ist nötig die Anwendung unter dev.twitter.com anzumelden. Die 4 Key's werden benötigt. Wechseln Sie in Ihrer Sefrengo Version in den Bereich "Design->Module". Am unteren Ende des Bereichs befindet sich ein Uploadfeld. Wählen Sie hier die gewünschte "*.cmsmod"- Datei aus. Mit einem Klick auf das Diskettensymbol wird das Modul in das CMS importiert. Das Modul ist nun innerhalb des CMS nutzbar. QUELLTEXT Current Version 1.0.3 - released 31.10.2010
------------------------------------------------------------------------------------------------ ^ Umstellung auf OAuth, die Authentifizierung benötigt jetzt 4 Werte (Consumer Key, Consumer Key Secret Access Token, Access Token Secret) Version 1.0.2 - released 20.06.2009 ------------------------------------------------------------------------------------------------ + Einstellung der Anzahl der angezeigten Tweets (counts) über das Modul + Tweets sind eigenständig konfigurierbar + neue Inhaltselemente ({name}, {image}, {text}, {followers}, {client},{following},{friends},{statuses}.) Version 1.0.1 (Beta) - released 23.05.2009 ------------------------------------------------------------------------------------------------- + Caching (Limitierungen der Twitter API von 70 Request/ Stunde durch Caching aufgehoben) Initial Version 1.0.0 (Alpha) - released 22.05.2009 ------------------------------------------------------------------------------------------------- !Einbindung der Twitter Timeline in die eigene Website
Angehängte Datei(en)
-------------------- |
|
|
Guest_bkm_* |
![]()
Beitrag
#2
|
Guests ![]() |
DANKE !!!
![]() |
|
|
![]()
Beitrag
#3
|
|
![]() Member ![]() ![]() Gruppe: Members Beiträge: 45 Mitglied seit: 08.09.2006 Wohnort: Österreich aber zurzeit in Ägypten Mitglieds-Nr.: 228 ![]() |
Genial Pawel!
Danke für dieses tolle Modul. Bist eben der Web 2.0 King bei Sefrengo Frage: Hast du schon was mit FB interaktion im Sinn? ![]() -------------------- Wenn Du weiterkommen willst dann solltest Du auch mit anderen darüber Reden!
|
|
|
![]()
Beitrag
#4
|
|
Newbie ![]() Gruppe: Members Beiträge: 9 Mitglied seit: 19.09.2009 Mitglieds-Nr.: 2.005 ![]() |
Funktioniert echt Klasse das Modul
und auch super einfach zu bedienen. Eine frage hätte ich nur: ist es auch möglich, dass nur die tweets und retweets von einem Twitter-account anzuzeigen? |
|
|
![]()
Beitrag
#5
|
|
![]() Advanced Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 ![]() |
Das Modul kapselt nur ein paar TwitterAPI-Calls. Bestimmte Retweets sind per User-Timeline möglich.
Näheres zeigt die Twitter-Dokumentation. Wenn Du ein bisschen an Mashups interessiert bist hilft Dir veilleicht mein Artikel über die Nutzung von Twitter via YQL. Was meint FB interaktion? -------------------- |
|
|
![]()
Beitrag
#6
|
|
Newbie ![]() Gruppe: Members Beiträge: 9 Mitglied seit: 19.09.2009 Mitglieds-Nr.: 2.005 ![]() |
Ok ich hab mal was zusammengebastelt, was bisher gut funktioniert, auch wenn es ein ziemlicher Umweg ist
![]() Ich hab die Zeile 90 wie in der Dokumentation beschrieben ungeändert in: QUELLTEXT return (array) $this->doCall('statuses/user_timeline.json?include_rts=true', $parameters, true); nach Zeile 2885 folgenden Code eingefügt: QUELLTEXT $myTwittername = $response[$i][user][name]; $explode_array = explode("@",$myTwitter['text'],2); if ($explode_array[0] == "RT ") { $explode_text = explode(":",$explode_array[1],2); $myTwitter['text'] = $explode_text[1]; $myTwittername = $explode_text[0]; } und die (neue) Zeile 2897 umgeändert in QUELLTEXT $myTwitter['element'] = str_replace('{name}', $myTwittername , $myTwitter['element']); Dadurch wird der vorhergehende Benutzername des "Original-Twitterers" entfernt und gleichzeitig der Platzhalter {name} damit überschrieben. Ganz normale Twitter-Beiträge bleiben unangetastet. Wie gesagt ich habe bisher noch keine Fehler feststellen können wobei in der Dokumentation nicht ganz klar ist, ob wirklich alle Retweets mit dem parameter "include_rts=true" angezeigt werden. Würde mich über Tests von anderen Usern sehr freuen ![]() |
|
|
![]()
Beitrag
#7
|
|
![]() Advanced Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 ![]() |
Logische Idee. Die Klasse dient ja auch zu perspektivischen Erweiterung des Moduls
![]() Reicht Dir QUELLTEXT return (array) $this->doCall('statuses/user_timeline.json?include_rts=true', $parameters, true); nicht? Damit werden die Retweets doch einbezogen.Warum das mühsame "Herausfischen" von RT und Benutzername? Dadurch wirkt es ja eher wie eine Veröffentlichung von Dir und wird eigentlich Twitter weniger gerecht. Du hast ja auch jederzeit die Gelegenheit, bei der Erstellung deines Retweet, diese Angaben zu entfernen und darfst dann auch den Doppelpunkt verwenden. -------------------- |
|
|
![]()
Beitrag
#8
|
|
Newbie ![]() Gruppe: Members Beiträge: 9 Mitglied seit: 19.09.2009 Mitglieds-Nr.: 2.005 ![]() |
Ich hatte bei dem Modul das Problem, dass der Name des Autors erst am ende angezeigt werden soll, nämlich dort wo ich im Modul {name} angegeben habe.
Deswegen schreibt der Code auch den Namen des Original-Autors in diese Variable. |
|
|
![]()
Beitrag
#9
|
|
![]() Advanced Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 ![]() |
Aha. Dann geht aber auch:
QUELLTEXT $explode_array = explode("@",$myTwitter['text'],2); if ($explode_array[0] == "RT ") { $explode_text = explode(":",$explode_array[1],2); $myTwitter['text'] = $explode_text[1]; $myTwitter['author'] = $explode_text[0]; und eine neue Zeile: QUELLTEXT $myTwitter['element'] = str_replace('{author}', $myTwitter['author'] , $myTwitter['element']);
-------------------- |
|
|
![]()
Beitrag
#10
|
|
![]() Advanced Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 ![]() |
Ich glaube, mir ist noch etwas eleganteres eingefallen. Twitter verordnet mir aber immer 1 Stunde Ruhe, wenn ich zu intensiv teste
![]() Deshalb so: QUELLTEXT <?php
$tweet = 'RT @pawelf: Hallo @webfalter'; if(preg_match('/\brt\s*@(\w+)/i', $tweet, $match)) echo 'Somebody retweeted ' . $match[1] . "\n"; $cleanText = (explode(':', $tweet, 2)); echo '<br />' . $cleanText[1]; ?> -------------------- |
|
|
![]()
Beitrag
#11
|
|
![]() Advanced Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: AdvancedMembers Beiträge: 442 Mitglied seit: 02.07.2006 Wohnort: Halle Mitglieds-Nr.: 71 ![]() |
Habe es mal kurz gebündelt, muss perspektivisch konfigurierbar sein, so dass jeder entscheiden kann, ob er alle Retweets möchte.
Nur zum Testen. ![]() -------------------- |
|
|
![]()
Beitrag
#12
|
|
Newbie ![]() Gruppe: Members Beiträge: 9 Mitglied seit: 19.09.2009 Mitglieds-Nr.: 2.005 ![]() |
Funktioniert super
![]() Das einzige was ich denk was man einbauen könnte wäre, dass die variable für {name} direkt wie in meiner ersten Version mit dem Namen des Autors vertauscht wird. So wie du es im vor-vorletzten Post geschrieben hast scheint es bei mir wohl nicht zu funktionieren. Nichtsdestotrotz dürfte es für die meisten Situationen wesentlich praktischer sein, denn bis jetzt zeigt die Variable {name} immer den Namen vom ausgewählten User. |
|
|
![]() ![]() |
![]() |
Vereinfachte Darstellung | Aktuelles Datum: 24.4.24 - 14:33 |