Kategorien
- [-]Developer (104)
- API (15)
- Backend (17)
- Extensions (29)
- HTML & CSS (4)
- Typoscript (33)
- [-]Redaktionelles (21)
- Anleitungen (9)
- Tipps (8)
- [-]Sonstiges (50)
- SEO (8)
Schlagwortwolke
« | August 2014 | » | ||||
---|---|---|---|---|---|---|
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 |
Letzte Nachrichten
- DSGVO
- 26.05.2018 18:39
- Trackingtools und Datenschutzerklärung
- 14.03.2014 23:07
- 1:n und n:1 Relationen in Extbase
- 06.12.2013 12:04
- Erste Abmahnungen wegen Google Analytics
- 04.10.2013 12:11
Letzte Kommentare
- Das liegt daran, dass die captcha.php versucht, das halbe...
- 05.12.2017 00:41
- Hallo, danke für den tollen Beitrag. Kann man die...
- 22.10.2015 10:05
- Vielen Dank für den Austausch guter Artikel. Es ist eine...
- 17.08.2015 10:58
- Hallo Peter, danke für die Extension. Ich habe sie auf...
- 27.08.2014 12:51
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.
- Kommentare
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.
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.
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.
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?
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
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…
@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.
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
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.
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.
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.
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?
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.
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.
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 :(
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.
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.
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?
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
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?
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!?
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?
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.
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