Schnellnavigation:

Kategorien

« Januar 2012»
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Kopieren Sie diesen Link in Ihren RSS-Reader

RSS 0.91Nachrichten
RSS 2.0Nachrichten

In eigener Sache

Peter Linzenkirchner, Lisardo Multimedia in Augsburg. Freelance und Partner für Design- und Webagenturen in Augsburg und München. Pixelgenaue Templates, valides HTML, barrierearm. TYPO3-Projekte, Extension-Programmierung und mehr ... 

Ich habe gestern das Heise-Skript »socialshareprivacy« (siehe mehr dazu in meinem Artikel bzw. auf der Originalseite von Heise) in eine TYPO3-Extension eingebaut und ins TER hochgeladen (Downloadlink). Sie heißt einfach socialshareprivacy. Sie ist so aufgebaut, dass

  • bei Neuerungen im Heise-Skript das Skript einfach in der Extension ausgetauscht werden kann
  • notfalls auch über Typoscript eine externe Variante eingebunden werden kann
  • das verwendete jQuery entweder automatisch durch die Extension eingebunden wird (default) oder ein bereits vorhandenes verwendet wird (Konfiguration im Extension Manager). 
  • praktisch alle Konfigurationsmöglichkeiten des Originalskripts über Typoscript möglich sind. 

Zu beachten ist, dass das Skript von Heise nur eine Instanz pro Seite erlaubt, die Extension kann also nur einmal pro Seite eingebunden werden. 

Installation: 

Die Installation ist simpel: einfach im Extension Manager runterladen, installieren und danach zwei Einstellungen tätigen: die Facebook APP-ID eintragen und anklicken, ob jQuery aus der Extension geladen werden soll oder nicht. 

Facebook APP-Id: 

Eine Anleitung wie man an diese ID kommt ist hier zu finden: Hinweis zur Facebook App-ID

Einbinden in eine einzelne Seite: 

Das Plugin wird in die Seite eingebunden wie alle anderen Plugins: einfach als Inhaltselement. Es gibt nichts zu konfigurieren, einbinden reicht. 

Einbinden ins Template: 

Das geht am besten über Typoscript: 

Im klassischen Template-Stil: 

MARKER < plugin.tx_socialshareprivacy_pi1

oder über TemplaVoila: 

lib.myplaceholder < plugin.tx_socialshareprivacy_pi1

Typoscript-Konfiguration: 

In der Extension-Dokumentation ist keine genaue Beschreibung aller Optionen, aber man kann sich einfach die ext_typoscript_setup.txt vornehmen, dort sind alle Optionen mit Beispielinhalten drin. Eine genaue Beschreibung der einzelnen Optionen ist auch auf der Heise-Seite zu finden. Man kann sie sogar von dort entnehmen und nach folgenden Regeln in sein Setup schreiben: 

1. Allgemeine Optionen: 

plugin.tx_socialshareprivacy_pi1.info_link = 

etc. 

2. Facebook-Optionen: 

plugin.tx_socialshareprivacy_pi1.services.facebook.status = on

etc. 

3. Twitter und Google+: 

plugin.tx_socialshareprivacy_pi1.services.twitter.___

plugin.tx_socialshareprivacy_pi1.services.gplus.___

etc. 

Textausgaben

Ich habe die Textausgaben für die Popups nicht ins Typoscript verlegt sondern in eigene Language-Dateien, um eine einfache Mehrsprachigkeit zu ermöglichen (auch wenn das in dem Fall schlicht Quatsch ist ... sehr deutsch, diese Angelegenheit). So können die Texte aber auch einfach über Typoscript geändert werden:

plugin.tx_socialshareprivacy_pi1._LOCAL_LANG.de.txt_help = 

etc. 

Fehler und Verbesserungsvorschläge: 

Bitte nicht einfach behalten sondern an mich senden, entweder per E-Mail oder über das Kontatkformular

 

Kategorien: Extensions/Tipps  
Links:
Trackback-Link  (Bitte kopieren)
 
| Mehr
  •  
  • Kommentare
  •  
Gravatar: Julian
Julian am
01November2011

Funktioniert super, habe jedoch einen kleinen Fehler entdeckt: In Versionen des Internet Explorers > 8 wurde bei mir das gesamte Skript nicht ausgeführt. Fehler war ein Komma zu viel in der template.js Ich habe in Zeile 45 aus 'css_path' : '###CSS_PATH###', einfach 'css_path' : '###CSS_PATH###' gemacht und schon funktioniert's :-) Auf dieser Seite sehe ich die Buttons im IE7 zum Beispiel auch nicht.

Gravatar: Peter
Peter am
01November2011

Ups, ja das ist richtig. Das letzte Item in einem Array darf nicht mit einem Komma abschließen, ein objektiver Fehler, auf den allerdings nur der IE reagiert. Danke für den Hinweis, ich werde es ausbessern und neu hochladen.

Gravatar: Julian
Julian am
01November2011

Bisher gibt es noch keine Möglichkeit die URI via Typoscript zu konfigurieren, oder bin ich einfach nur blind? Wäre noch ein Wunsch für's Update. Möchte zum Beispiel nur den Facebook-Button mit Link zur Fanpage einbauen und keinen Link zu der Seite auf der sich der User befindet. Im JavaScript ist das ja über den Parameter 'uri' gelöst.

Gravatar: Peter
Peter am
01November2011

Ich habe den Fehler gefixt und die uri-Option eingebaut. Die neue Fassung ist online, kann aber dauern, bis sie verfügbar ist. Allerdings funktioniert das Feature im Originalskript nicht ganz so, wie du meinst: Die URI ist nicht an die einzelnen Buttons gebunden sondern gilt global. Du kannst die Verweis-URI also nicht für Facebook allein ändern, sondern nur für alle drei Buttons zusammen. So prinzipiell betrachtet führst du damit auch deine Besucher in die Irre: sie bewerten doch genau diese Seite mit +1, nicht eine andere, auf die du (mehr oder weniger heimlich) verlinkst. Das Feature ist weniger dazu gedacht, auf eine komplett andere Seite zu verweisen, sodern eher, von dynamisch erzeugten Unterseiten auf eine übergordnete Seite zu verweisen. Es global für eine andere Site zu verwenden, halte ich eigentlich für Spam ... Deshalb hatte ich das Feature ursprünglich auch weggelassen. Ich bin mir auch noch nicht sicher, ob ich es drin lasse.

Gravatar: Julian
Julian am
01November2011

Wenn ich die URI festsetze, dann nur deshalb um NUR den Facebook-Button zu behalten. "Möchte zum Beispiel nur den Facebook-Button mit Link zur Fanpage einbauen" Alles andere ist Quatsch, da sind wir einer Meinung ;-) Auch wenn die Extension ja eigentlich zum Teilen von Seiten ist, warum nicht auch als Like-Button für Fanpages benutzen?

Gravatar: Martin
Martin am
07November2011

Danke für die Umsetzung der Opt-in-Lösung von Heise als Extension! Sehr einfach zu installieren; prima Arbeit. Bei heise steht nun ein Hinweis auf Version 1.2, in der keine Facebook App-ID mehr nötig ist -- hab mir extra einen Account angelegt, um diese zu bekommen :-( Hast Du vor, ein Update zu stricken? Weitere Frage: Planst Du, die Optionen aus dem Heise-Skript in die Extension-Konfiguration aufzunehmen? Ich beiß mir schon wieder die Zähle an den Contants aus :-( Danke und viele Grüße Joe

Gravatar: Gunter Königsmann
Gunter Königsmann am
30Januar2012

Ich glaube, ich habe eine mögliche Datenschutzlücke in der Extension gefunden, die sie mit der Extension "socials" teilt: Das Problem, das beide Extensions zu lösen versuchen, ist, dass die Icons der Social-Media-Anbieter von deren Herstellerseiten nachgeladen werden – und der Webbrowser dabei deren Benutzer mit Informationen, von wem und von welcher Seite aus sie nachgeladen worden sind, versorgt. Da die Extensions aber ihrerseits Fluid einbinden, das jedes Mal, wenn eine Seite damit angezeigt wird, Code von seinem Hersteller nachlädt, werden diese Daten aber dennoch an jemanden geliefert: Wenn die Macher von Fluid mitschreiben wollen würden, wer sich wie oft auf welcher Seite aufhält…

Gravatar: Peter
Peter am
30Januar2012

@Gunter: Wie kommst du drauf, das Fluid "beim Hersteller" nachfragt? Fluid ist - nach allem was ich weiß - eine Extension von TYPO3 und hat somit keinen expliziten "Hersteller" wo sie nachfragen oder nachladen könnte. Ausserdem verwendet socialshareprivacy kein Fluid, ich habe das Teil im traditionellen Stil ohne Fluid programmiert. Auf der Seite hier ist Fluid gar nicht installiert. Insofern weiß ich jetzt nicht, worauf du raus willst.

Gravatar: Gunter Königsmann
Gunter Königsmann am
15Februar2012

@Peter: War überzeugt, das zweimal getestet zu haben, bevor ich das poste - muss aber gestehen, ich hatte mich geirrt. Also: Ich nehme alles zurück, behaupte das Gegenteil - und bedanke mich bei dieser Gelegenheit gleich für die schöne (und nützliche) Extension.

Gravatar: wini
wini am
10April2012

Erst einmal - Danke für die Extension. Eine Frage habe ich. Ich nutze TemplaVoila und möchte die Ausgabe per lib auf jeder Seite. Das o. a. lib.myplaceholder < plugin.tx_socialshareprivacy_pi1 funktioniert bei mir nicht. Der Inhalt anderer Plugins (z.B. Loginbox) wird aber ausgegeben. Muss ich da noch was anderes beachten? Danke

Gravatar: Peter
Peter am
10April2012

Müsste eigentlich so funktionieren, ich mache es hier ja auch nicht anders. Das Blog selbst ist zwar nicht mit TV gemacht, die restlichen Seiten aber schon. Hast du es mal als Inhaltselement eingebunden, funktioniert es da? Sonst liegt das Probleme nämlich eher bei der JavaScript-Bibliothek bzw. an einem Konflikt zwischen jQuery und einer anderen Bibliothek, z. B. für eine Lightbox.

Mein Kommentar

Benachrichtige mich, wenn jemand einen Kommentar zu dieser Nachricht schreibt.