Hi,
…ich möchte neben dem integrierten FB-Like Button auch einen Tweet-Button einfügen. Das funktioniert auch soweit, nur nachdem ich eine Variante auswähle, lädt der Twitter-Button nicht neu bzw. erscheint nicht.
Ich arbeite an einem Azure-Child Theme, an der Ajax-Variantenwahl habe ich nichts verändert.
Den Twitter-Button lade ich so:
<a href="[{$oView->getCanonicalUrl()}]" class=“twitter-share-button” data-via=“twitterapi” data-lang=“de”></a>
[{oxscript include=“js/widgets/tweet.js”}]
In der tweet js steht der “Standard-Twitter-Code”.
…egal wo/wir ich den Twitter-Code einbinde, ob im Header, direkt nach dem Link, oder im Footer, das Problem bleibt bestehen.
Kann mir jemand sagen wie ich einen einfachen Twitter-Button richtig einbinde, damit auch das funktioniert?
…ich habe das hier gefunden:
http://www.blackfishweb.com/blog/asynchronously-loading-twitter-google-facebook-and-linkedin-buttons-and-widgets-ajax-bonus
Unter “Extending it for ajax request” steht doch fast die Lösung, oder nicht?! Ich weiß nur nicht ,wie ich das korrekt in dem Azure-Template einbauen muss…
Vielleicht ist ja einer so gnädig, oder benötigt das auch…bezüglich Javascript nach Variantenauswahl gibt es hier ja bereits Threads…
Hallo Beni,
ich habe de Twitter-Share Button folgendermaßen in unser Template eingefügt:
<div id="footerTwitter">
<a href="https://twitter.com/share" class="twitter-share-button" data-via="instacased" data-lang="en">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="https://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
</script>
</div>
In der dritten Zeile beim Attribut data-via, kannst du deinen Twitter-Account rein schreiben. Im Feed wird das dann mit @username ausgegeben. Ist aber kein Muss.
Ich hoffe, das hilft dir!
Grüße
Jochen
Leider nein, ich brauche den Button in der productmain.tpl und da bleibt das Problem:
Beim ersten laden wird er angezeigt, nach Auswahl einer Variante nicht mehr.
Aber Danke!
Ok, dann würde ich es so versuchen:
Lade die twitter.js nochmals in der Datei page/details/ajax/productmain.tpl mit
[{oxscript include="js/widgets/tweet.js"}]
[{include file="page/details/inc/productmain.tpl"}]
Der Code muss vor dem Einbinden der productmail.tpl eingefügt werden.
Oder nach dem Einbinden der productmain.tpl in der Datei page/details/ajax/productmain.tpl mit:
[{include file="page/details/inc/productmain.tpl"}]
[{oxscript add="$(function(){twttr.widgets.load()});"}]
Ahhh! Das funktioniert!
Ich fasse zusammen:
Folgenden Code in die [B]producmain.tpl[/B] einfügen:
<a href="[{$oView->getCanonicalUrl()}]" class="twitter-share-button" data-via="twitterapi" data-lang="de"></a>
[{oxscript include="js/widgets/tweet.js"}]
Die tweet.js beinhaltet den “Standard-Twitter-JS-Code” und muss selber erstellt werden.
In der page/details/ajax/productmain.tpl folgenden Code:
[{include file="page/details/inc/productmain.tpl"}]
mit diesem ersetzen:
[{include file="page/details/inc/productmain.tpl"}]
[{oxscript add="$(function(){twttr.widgets.load()});"}]
Bei mir kommt zusätzlich hinzu:
In der page/details/ajax/ullproductinfo.tpl folgenden Code:
[{include file="page/details/inc/fullproductinfo.tpl"}]
mit diesem ersetzen:
[{include file="page/details/inc/fullproductinfo.tpl"}]
[{oxscript add="$(function(){twttr.widgets.load()});"}]
Danke Jochen!
Freut mich, dass ich dir helfen konnte!
Grüße
Jochen
Zu früh gefreut.
Geht doch nicht zuverlässig. In der Console erscheint auch ein Error…
TypeError {}
oxAjax.reportJSError
(anonymous function)
Wenn ich das hier:
[{oxscript add="$(function(){twttr.widgets.load()});"}]
noch in die details/inc/productmain.tpl hinzufüge funktioniert es, aber in der Console bekomme ich bereits beim ersten laden die Fehlermeldung:
Uncaught TypeError: Cannot call method ‘load’ of undefined
Kann ich das ignorieren?