Wie lässt sich ein eigenes Kategorie-Template erstellen?

Hallo,

ich möchte gern das Aussehen der Kategorien individualisieren und zu diesem Zweck eigene Templates den Kategorien zuweisen. Früher konnte man das mittels des Feldes „Templateauswahl“ in den Kategorieeinstellungen tun. Das galt aber nur für Emotion-Templates. Sobald man die Responsive Themes nutzt, wird das ignoriert. Wie macht man das denn heute? :wink:

Einzelnen Artikeln individuelle Templates zuordnen ist ja kein Problem. Das klappt wie gehabt. Aber bei den Kategorien steh’ ich gerade auf’m Schlauch…

 

Hui… hat niemand eine Idee? Es scheint ja auch keinen Beitrag in der Dokumentation zu diesem Thema zu geben. Wenigsten fand ich keinen…

Hallo,

die Funktion gibt es weiterhin. Allerdings wird das Feld nur angezeigt, wenn man auch Templates in den Grundeinstellungen hinterlegt hat. Siehe dazu die Doku:

Custom templates for category and detail pages
Example: Custom listing page

 

LG,
Phil

Hallo Phil,

die von dir verlinkten Seiten habe ich mir einmal angesehen. Die prinzipielle, dort beschriebene, Vorgehensweise verstehe ich schon. Im Grunde habe ich das ja auch oben schon geschrieben. Es fällt mir nicht schwer ein individuelles Template für die Artikeldetailseiten zum Laufen zu bringen. Mir geht es in erster Linie um die Kategorieansichten.

Du sagst, man müsse die Templates in den Grundeinstellungen hinterlegen. Das ist einigermaßen verwirrend. Wie ich bereits erwähnte, kenne ich dieses Einstellungsfeld. ABER: Ebenfalls erwähnte ich, dass die Referenz für eben jene Einstellung, in den Kategorieeinstellungen zu finden ist. Dort muss man ja das gewünschte Template irgendwie auswählen. Und neben dem Feld “Templateauswahl” liest man “Die Templateauswahl findet nur in Themes auf Emotion-Basis Verwendung…” - bitte gehe hierauf einmal ein. Wenn ich in den Grundeinstellungen ein Kategorietemplate hinterlege, wird es exakt in diesem Feld “Templateauswahl” angezeigt. Nur hier kann ich es also wählen.

Hingegen beschreibt der Artikel Example: Custom listing page weiter unten, dass man bspw. eine weitere Variable für das “ProductBoxLayout” anlegen kann. Hieraus würde ich nun schließen, dass man - im Backend - in den Kategorieeinstellungen, im Feld “Produkt Layout” eine weitere Option auswählen kann. Das klappt aber auch nicht.

Irgendwie ist mir das nicht ganz klar. Ich bitte um Aufklärung.  Frown

Falls auch noch jemand sucht. Ich habe das viel einfacher gemacht:

Neues Kategorie-Attribut über Freitextverwaltung oder programmatisch anlegen:

        /** @var \Shopware\Bundle\AttributeBundle\Service\CrudService $crudService */
        $crudService = Shopware()->Container()->get('shopware_attribute.crud_service');

        $crudService->update('s_categories_attributes', 'layout', TypeMapping::TYPE_STRING, [
            'displayInBackend' => true,
            'label' => 'Alternatives Layout'
        ]);

Dann im Template eine kleine Weiche:

            {if $sCategoryContent.attribute.layout}
                {$listingTemplate='frontend/listing/'|cat:$sCategoryContent.attribute.layout}
                {include file=$listingTemplate}
            {else}
                {include file='frontend/listing/listing.tpl'}
            {/if}