Plugin wird nicht angezeigt

Gelegentlich passiert es - ein Plugin ist installiert, konfiguriert, das Theme ist kompiliert und der Cache wurde auch gelöscht. Dennoch stimmt die Anzeige in der Storefront nicht... Ärgerlich!

Individuelle Themes oder andere Plugins können die Funktionsweise jedes Plugins beeinträchtigen. Wir achten daher durch Abgrenzung der Variablen und der Einbindung der Plugins auf eine Shopware-konforme und möglichst kompatible Einbindung der Plugins im Frontend.

Da ein aktives Theme in der Regel die letzte Instanz in der Vererbungskette ist, können an dieser Stelle Plugin-Einstellungen überschrieben werden.

Warum wird das Plugin in der Storefront nicht angezeigt?

Um diese Frage zu beantworten müssen wir ein grobes Verständis darüber erlangen, wie Plugins und Themes Inhalte in der Storefront darstellen.

Keine Sorge, dafür sind keine Programmierkenntnisse notwendig, also weiter:

In Shopware können ganze Dateien und Bereiche (Blöcke genannt) innerhalb von Dateien erweitert oder überschrieben werden. Erweitern bedeutet, dass neuer Code zu bestehendem Code hinzugefügt wird. Überschreiben bedeutet, dass neuer Code anderen Code komplett ersetzt - soweit klar?

Showpare ist deshalb durch den gesamten Code hinweg mit solchen Einstiegspunkten (Blöcken) gespricht. Dadurch ist es möglich praktisch "minimal invasiv" Veränderungen vorzunehmen.

Das Problem des "Überschreibens"

Beim Überschreiben von Blöcken oder ganzen Dateien kann es vorkommen, dass andere Plugins oder Themes an diesen Stellen nicht mehr wirken können - deren Inhalte wurden dann überschrieben. Versuchen nun mehrere Plugins denselben Block zu überschreiben oder zu erweitern, werden nur jene Inhalte in der Storefront sichtbar, dessen Plugin zuletzt diesen Block überschrieben hat.

In der Regel sollte daher ein Block oder eine Datei nur erweitert werden, um andere Plugins und Themes nicht in ihrer Funktionsweise zu beeinträchtigen. Nicht immer ist das möglich.

Beispiel Überschreiben eines Blocks:

{block name="frontend_index_logo"}

    <div class="logo--shop"> 
        //...
    </div>

{/block}

Beispiel Erweitern eines Blocks:

Vereinfacht gesagt, sorgt {$smarty.block.parent} dafür, dass die Inhalte von anderen Plugins oder Themes ebenfalls geladen werden können.

{block name="frontend_index_logo"}
    {$smarty.block.parent} // lädt vorige Inhalte

    <div class="logo--shop"> 
        //...
    </div>

{/block}

Lösungsvorschlag:

Um herauszufinden welches Plugin oder Theme der "Übeltäter" ist und andere Plugins in ihrer Funktion hindern, kannst Du im Plugin-Manager Plugins deaktivieren, welche als mögliche Auslöser in Betracht kommen. Das sind in der Regel Plugins, welche in der Storefront eine Veränderung hervorrufen. Im folgenden haben wir zwei Anleitungen, wie man Themes und auch Plugins als Ursache identifizieren kann.

pagePlugin als Ursache identifizierenpageTheme als Ursache identifizieren

Ist das betroffene Theme oder Plugin identifiziert sollte der Hersteller nähere Auskunft und bei der Problemlösung helfen können.

Natürlich kann man auch im Quellcode der Themes und Plugins nach dem betreffenden Block durchsuchen und so den "Übeltäter" überführen.

Ich benötige Hilfe bei der Suche:

Gerne helfen wir bei der Suche des Plugins. Da wir nicht Betreiber des Shops sind, können wir jedoch nicht einfach Plugins oder gar Themes in einem Live-System deaktivieren. Solltest Du uns mit der Suche nach dem "Übeltäter" beauftragen wollen, kannst Du uns in einem Support-Ticket folgende Daten hinterlassen:

  • eigenständiger Shopware Backend-Benutzer mit Admin-Zugriff

  • eigenständiger SSH/SFTP/FTP-Zugang (Host, Benutzer, Passwort)

Last updated