Hallo,
ich möchte in einem Shopware-Shop das Zendesk-Widget einbinden. Dazu muss ein JS-Script eingebunden werden. Zu diesem Zweck haben wir ein Plugin von Netzperfekt gekauft, das genau dies ermöglichen soll. Auf anderen Shopware-Seiten funktioniert dieses Plugin auch problemlos.
Der Originalcode den ich einfügen möchte sieht so aus.
/*<![CDATA[*/
window.zEmbed || function (e, t) {
var n, o, d, i, s, a = [], r = document.createElement("iframe");
window.zEmbed = function () {
a.push(arguments)
}, window.zE = window.zE || window.zEmbed, r.src = "javascript:false", r.title = "", r.role = "presentation", (r.frameElement || r).style.cssText = "display: none", d = document.getElementsByTagName("script"), d = d[d.length - 1], d.parentNode.insertBefore(r, d), i = r.contentWindow, s = i.document;
try {
o = s
} catch (e) {
n = document.domain, r.src = 'javascript:var d=document.open();d.domain="' + n + '";void(0);', o = s
}
o.open()._l = function () {
var e = this.createElement("script");
n && (this.domain = n), e.id = "js-iframe-async", e.src = "https://assets.zendesk.com/embeddable_framework/main.js", this.t = +new Date, this.zendeskHost = "xxxxxx.zendesk.com", this.zEQueue = a, this.body.appendChild(e)
}, o.write('<body onload="document._l();">'), o.close()
}();
/*]]>*/
Nach o.write( wird der Code jedoch einfach abgeschnitten und das Widget funktioniert demnach nicht. Nachdem also das direkte Einfügen in das Plugin kein Ergebnis liefert, habe ich versucht den Code behelfsmäßig direkt in die .tpl einzubinden. Und zwar so:
{block name="frontend_index_header_javascript_jquery" append}
{literal}
{*Hier das oben aufgeführte Javascript*}
{/literal}
{/block}
Das jeweils mit und ohne {literal}{/literal}. Ergebnis: Ohne die Literal-Tags bleibt die Seite komplett weiß. Mit den Tags hingegen zeigt sich das gleich Problem: Der Code wird einfach abgeschnitten.
Die Anpassungen habe ich jeweils einmal in der header.tpl und einmal in der index.tpl im Child-Theme vorgenommen. So langsam gehen mir die Ideen aus. Hat jemand von euch noch einen Rat?
Viele Grüße
Robin