Shopware Quick Tipp #27: Topseller unterhalb der Produkte positionieren

Quick Tipps, Shopware 5

Mit der Shopware Freitextfeld-Verwaltung Topseller unterhalb der Produkte positionieren

Die Topseller sind standardmäßig aktiv und oberhalb der Produktauflistung einer Kategorie sichtbar. Hier Shopware Quick Tipp #11 haben wir erklärt wie sich die Topseller grundsätzlich deaktivieren lassen.

Im Folgenden erklären wir, wie sich die Topseller bei Bedarf mit Hilfe eines Freitextfelds unterhalb der Produkte einer Kategorie darstellen lassen.

Falls die Topseller grundsätzlich unterhalb des Produktkategorie stehen sollten, wird dafür kein Freitextfeld benötigt und es kann direkt mit Schritt 2 fortgefahren werden.

Schritt 1

Im Bereich der Kategorien muss nun ein Freitextfeld angelegt werden.

Gehen Sie auf Einstellungen > Freitextfeld-Verwaltung und wählen Sie bei „Tabelle“ > Kategorie (s_categories_attributes)

Bei dieser Tabelle muss ein Feld hinzugefügt werden, am besten ein Vorgefertigtes. Im Beispiel verwenden wir „attribute1“ und setzen den Spaltentyp (rechts) auf Checkbox – somit kann man später einfach ein Haken setzen, um die Option bei der Kategorie zu aktivieren. Noch eine Beschreibung für das Feld bei „Label“ festlegen und die Option für das Backend aktivieren.

Nach dem Speichern wird jetzt bei den Kategorien jeweils ein zusätzliches Feld angezeigt.

Schritt 2

Es muss eine neue Template Datei in dem eigenen Theme erstellt werden. In dem Ordner „listing“ muss die Datei „index.tpl“ (sofern noch nicht vorhanden) erstellt werden.

In der „index.tpl“ Datei sollte folgender Smarty Code stehen:

{extends file='parent:frontend/listing/index.tpl'}

{block name="frontend_listing_index_topseller"}
     {if $sCategoryContent.attribute.attribute1}
     {else}
	{$smarty.block.parent}
    {/if}
{/block}

{block name="frontend_listing_index_listing"}
     {$smarty.block.parent}
          {if $sCategoryContent.attribute.attribute1}
               {if !$hasEmotion && {config name=topSellerActive}}
                    {action module=widgets controller=listing action=top_seller sCategory=$sCategoryContent.id}
               {/if}
          {/if}
{/block}

Die erste Zeile ist zwingend notwendig, um das Standard Template zu erweitern.

Der erste Block ist der Topseller Block, hier wird abgefragt ob das Freitextfeld gefüllt ist (Haken gesetzt), falls es gesetzt ist, wird der Block geleert und die Topseller werden an der Stelle nicht mehr angezeigt.

Falls kein Haken gesetzt ist, wird der Inhalt wie gewohnt geladen.

Der zweite Block ist der Standard „Listing block“, welcher erweitert wird. Es wird der komplette Inhalt geladen und falls das Freitextfeld gefüllt ist, werden die Topseller unterhalb des Listings (Produktkategorie) angezeigt (sofern sie nicht generell deaktiviert sind und das Produktlisting keine Einkaufswelt ist).

Nach der Anpassung noch den Cache leeren und das Theme neu kompilieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert