Schnellnavigation:

Kategorien

« September 2011»
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  

Kopieren Sie diesen Link in Ihren RSS-Reader

RSS 0.91Nachrichten
RSS 2.0Nachrichten

In eigener Sache

Peter Linzenkirchner, Lisardo EDV Beratung 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

Update

Die Extension ist ab Montag, 24.12.2012 in Version 1.2.1 im TER und jetzt kompatibel zu TYPO3 4.5 bis 4.7 und 6.0. 

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.

Gravatar: Tobias
Tobias am
19Mai2012

Auch von meiner Seite Dank für die tolle Extension. Gerade habe ich den bestehenden js-Code durch den von der 1.2er Version von heise.de ersetzt. Funktioniert prima, auch ohne Facebook-ID. Bei mir habe ich in der class.tx_socialshareprivacy_pi1.php includeJS durch includeJSFooter ersetzt. Ich denke, dass wenn Besucher die über das Cookie erleuben, dass die Buttons sofort angezeigt werden ist es sinnvoller wenn der Code erst am Ende des Dokuemnts geladen wird.

Gravatar: Peter
Peter am
19Mai2012

@Tobias, ich habe die eine neue Fassung ins TER gestellt, mit der Version 1.4 des Heise-Skripts. Ich habe noch ein paar andere Sachen geändert, siehe den aktuellen Blogartikel.

Gravatar: Volkmar
Volkmar am
26Juni2012

Hallo, scheint mir eine sehr gute Extension zu sein. Habe es mit Marker eingebunden. Der Hmtl-Quelltext zeigt den eingebundenen JS-Code der Extension und das div. Die Buttons werden nicht angezeigt und tauchen daher auch nicht im html-Quellcode auf. Der Marker wird ersetzt, sonst wäre das das div nicht da? Muss ich den Code aus der setup.txt ins Typoscript des Templates übernehmen? Vermutlich ja, saudumme Frage wahrscheinlich.

Gravatar: Volkmar
Volkmar am
26Juni2012

Hallo, ich habe die Extension eingebunden und per Marker aufgerufen. Marker wird substituiert, die div*s stehen im Quellcode. Aber es werden keine Links angezeigt. Was mache ich falsch? Dann habe ich die Einträge aus ext_typoscript.txt ins roottemplate übernommen und angepasst. Ohne Erfolg. Kann es darein liegen, dass meine Firma - Update wird gemacht - noch mit typo3 4.2.16 unterwegs ist?

Gravatar: Peter
Peter am
26Juni2012

Hallo Volkmar, mehr als das div + das JavaScript erscheint nicht im Quellcode - schau auf dieser Seite, ist auch nicht mehr drin. Den Rest muss das JavaScript machen. Das Script basiert auf jQuery, das muss also auch eingebunden sein - das ist optional, du kannst das Plugin konfigurieren, dass es jQuery aus der Extension lädt oder nicht. Ansonsten müsste es in 4.2 gehen, aber ich habe das nicht getestet. Wahrscheinlicher ist aber, dass entweder jQuery fehlt, oder dass jQuery einen Konflikt mit einem anderen JavaScript auslöst, zum Besipiel irgendeiner Lightbox. Versuche mal mit Firefox und der Extension Firebug auf JavaScript-Fehler zu testen.

Gravatar: Volkmar
Volkmar am
26Juni2012

Danke für Deine schnelle Antwort. Es ist schon seltsam. Ich habe das div, das sieht so aus wie hier und den jQuery bzw. Javascript-Code, auch wie hier und auch das CSS. Aber keine Anzeige. Weder bei Einbindung per Typoscript noch per Content-Element. Vielleicht kannst Du mal einen kurzen Blick auf den Quelltext auf www.heyduck-personalservice.de werfen, ob Dir was auffällt. Kann mir gut vorstellen, dass es an der typo3-Version liegt.

Gravatar: Volkmar
Volkmar am
26Juni2012

Firebug gibt CSS-Fehler aus: Unbekannte Eigenschaft '-moz-border-radius'. Deklaration ignoriert. http://heyduck-personalservice.de/typo3conf/ext/socialshareprivacy/socialshareprivacy/socialshareprivacy/socialshareprivacy.css Line 87 Unbekannte Eigenschaft '-moz-box-shadow'. Deklaration ignoriert. http://heyduck-personalservice.de/typo3conf/ext/socialshareprivacy/socialshareprivacy/socialshareprivacy/socialshareprivacy.css Line 90 Unbekannte Eigenschaft 'transition'. Deklaration ignoriert. http://heyduck-personalservice.de/typo3conf/ext/socialshareprivacy/socialshareprivacy/socialshareprivacy/socialshareprivacy.css Line 219 das sind nur Beispiele, bei diesen Eigenschaften meckert das Teil mehrfach. ansonsten: Ich habe das div, den jQuery-Teil, js ist eingebunden. Marker wird übersetzt, aber keine Anzeige, weder bei Einbindung im Template noch als Content-Element. Seltsam. Werde wohl doch updaten müssen, das wird ein Spass bei den ganzen externen Skripten einiger Leute :(

Gravatar: Peter
Peter am
26Juni2012

Das sind CSS-Fehler - bzw. auch keine richtigen Fehler, sondern private CSS-Eigenschaften für mozilla-Browser. Aber er gibt leider auch einen JavaScript-Fehler aus. TypeError: 'undefined' is not a function (evaluating '$('#socialshareprivacy').socialSharePrivacy') Und dadrin liegt das Problem. Jetzt müssen wir noch herausbekommen, warum der Fehler ausgegeben wird.

Gravatar: Peter
Peter am
26Juni2012

Oh mann, das hat jetzt aber gedauert - manchmal habe ich echt Tomaten auf den Augen ... OK, du hast recht, es liegt an der TYPO3-Version. Die Version 4.2 kann keine JavaScripte in den Footer einer Seite einbinden, dadurch fehlt bei dir ganz einfach das entscheidende JavaScript .... binde das hier irgendwie noch in deine Seite ein: dann müsste es gehen.

Gravatar: Peter
Peter am
26Juni2012
Korrektur

Ach Mist, Tags werden ja gefiltert - zuviel Spam hier :-) Also mit Entities: <script src = "typo3conf/ext/socialshareprivacy/socialshareprivacy/ 
jquery.socialshareprivacy.min.js" type="text/javascript"> </script>

Gravatar: Volkmar
Volkmar am
26Juni2012

Super, Peter, vielen Dank, Daran lag es. Ich hatte vergessen, den JS-Bug zu kopieren, Ach ja: Dein Code-Schnipsel hat noch einen Fehler: Bei type="text/javascript fehlt das schließende *.

Gravatar: Peter
Peter am
27Juni2012

OK; korrigiert, danke! Besser, dass hier nichts falsches stehen bleibt.

Gravatar: Silvia
Silvia am
18Januar2013

Hallo Peter, ich hab die Extension gerade eingebaut, möchte aber nur den Facebook-Button, nicht auch Google und Twitter-Buttons. Über CSS konnte ich das leider nicht ausschalten und auch im Template und Typoscript habe ich keine Möglichkeit gefunden. Kannst du mir da bitte weiterhelfen?

Gravatar: Kathrin
Kathrin am
05Juni2013

Falls das Problem immer noch besteht: plugin.tx_socialshareprivacy_pi1.services.facebook.status = on plugin.tx_socialshareprivacy_pi1.services.twitter.status = off plugin.tx_socialshareprivacy_pi1.services.google.status = off

Gravatar: Kathrin
Kathrin am
05Juni2013

Hab noch einen Wusch: Kann man die Extension mit Xing und LinkedIn erweitern? Wenn ja, wie genau?

Gravatar: Michael
Michael am
09August2013

Danke für den Tip mit dem Ausblenden von Button. Es gab hier einen kleinen Schreibfehler. Statt „google“ hat es bei mir mit „gplus“ funktioniert. plugin.tx_socialshareprivacy_pi1.services.facebook.status = on plugin.tx_socialshareprivacy_pi1.services.twitter.status = off plugin.tx_socialshareprivacy_pi1.services.google.status = off

Gravatar: Klaus
Klaus am
12August2013

Die Frage der Eerweiterung von Kathrin interessiert mich auch sehr. Ich habe schon ein paar Tage probiert, aber es ist mir selbst nicht gelungen die Erweiterung zu ergänzen. Kann mir jemand helfen?

Gravatar: Erick
Erick am
13Januar2014

Typo3 4.7.15 Hallo, bei mir will das Deaktivieren der Buttons nicht funktionieren. Hab dies bei den Constanten drin. Wie auch die automatisch eingefügte Änderung die aufgrund von Powermail gemacht wurde. plugin.tx_socialshareprivacy_pi1.load_jquery = 0 plugin.tx_socialshareprivacy_pi1.javascript_in_footer = 1 "perma_option" (bin mir nicht ganz sicher was das ist) will auch nicht greifen. plugin.tx_socialshareprivacy_pi1.services.facebook.status = on plugin.tx_socialshareprivacy_pi1.services.twitter.status = off plugin.tx_socialshareprivacy_pi1.services.gplus.status = off Ich hoffe mir kann jmd hier weiterhelfen!?

Gravatar: Stephan Bernhard
Stephan Bernhard am
15Juli2014

habe bei TYPO3 v4.5.32 versucht, die EXT s4a_socialshareprivacy v.2.0.0 (für TYPO3 v4.5) zu installieren. und bekomme fehlermeldungen. grund: EXTBASE v1.3.4 statt 1.4.0 und FLUID 1.3.1 statt 1.4.0. aber diese beiden EXT können unter TYPO3 v4.5.x nicht installiert werden. wie kann ich die EXT s4a_socialshareprivacy trotzdem zu laufen bringen?

Gravatar: Peter
Peter am
16Juli2014

Hallo Stephan, die Extension, die du verwendest, ist nicht von mir (es gibt mehrere Extensions zu socialshareprivacy). Ich kenne sie auch nicht, insofern kann ich wenig dazu sagen. Aber was du beschreibst bedeutet vermutlich, dass die Extension bereits für Version 6.x von TYPO3 upgedatet wurde und jetzt unter 4.5 nicht mehr läuft. Du kannst höchstens versuchen, eine alte Version der Extension zu installieren. Die Autoren schreiben die Kompatabilität meist in die Extensionbeschreibungen.

Gravatar: Martin
Martin am
27August2014

Hallo Peter, danke für die Extension. Ich habe sie auf TYPO3 6.2 installiert. Dort musste ich die require_once-Anweisung ersetzen durch "if (!class_exists('tslib_pibase')) require_once(PATH_tslib . 'class.tslib_pibase.php');" Ansonsten gibt es auf 6.2 bisher keine Probleme. Wäre also eine kleine Korrektur für den nächsten Upload. Viele Grüße Martin

Mein Kommentar

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

Besuchen Sie mich auf Google+