Zendesk-JS-Code integrieren

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. :frowning: Hat jemand von euch noch einen Rat?

Viele Grüße

Robin

 

Seit Shopware 5.3.2 kann ich leider den Block {block name=„frontend_index_header_javascript_jquery“ append} von {extends file=„parent:frontend/detail/index.tpl“} nicht mehr erweitern. Konntest Du mittlerweilen dafür eine Lösung finden? Unter 5.2 ging das problemlos - bei mir müsste das hier rein (wie gesagt in frontend/detail/index.tpl):

{block name="frontend_index_header_javascript_jquery" append}
{literal}
    

        $( document ).ready(function() {
            if(/(Android)/i.test(navigator.userAgent) || /(iPhone)/i.test(navigator.userAgent) || /(iPad)/i.test(navigator.userAgent) || /(iPod)/i.test(navigator.userAgent))
            {
                $(".whatsapplink").css("display", "inline-block");
            }
        });

    
{/literal}
{/block}

 

Hallo,

nein, ich habe das Problem leider bisher noch nicht lösen können.

Viele Grüße

Robin