Erlebniswelten - Eigene Block Kategorie

Hallo zusammen :slight_smile:

Ich befasse mich momentan mit dem Erstellen eigener CMS-Blöcke und Elementen. Die How-To Anleitungen sind übrigens sehr gut, danke daür!
Nun wollte ich einen Schritt weitergehen: Anstatt nur eine bestehende Kategorie (z.B. ‚text-image‘) mit Blöcken zu ergänzen, möchte ich eine eigene Kategorie anlegen.

Ich versuchte die Ordnerstruktur  wie folgt zu imitieren: […]/sw-cms/blocks/„meineKategorie“/„meineBlöcke“/[…]. Dies hat aber leider nicht geklappt (Im Backend habe ich nur die Auswahlmöglichkeiten zwischen den vier Standard-Kategorien).

Bevor ich noch weiter probiere deshalb die Frage: Ist dies machbar? Wenn Ja, ist mein Ansatz richtig?

Danke für eure Antworten

EDIT:  Ich habe die Lösung nun doch gefunden: Die verschiedenen Auswahlen sind tatsächlich ‚hardcoded‘ unter […]/module/sw-cms/component/sw-cms-sidebar/sw-cms-sidebar.html.twig. Dort kann man manuell eine option hinzufügen. Damit der erstellte Block in dieser Kategorie erscheint, muss man im index.js des Blocks die richtige category angeben.

@Shopware6User‍ Danke dir für die Infos Dienst hier in Erfahrung gebracht hast. Könntest du bitte noch genauer darauf eingehen wie du das umgesetzt hast mit der eigenen Kategorie?

 

evtl. mit den Code Snippets, das wäre wirklich klasse, wir knabbern nämlich gerade an demselben Problem und kommen nicht weiter :frowning:

 

danke dir schon mal, Michi

@experthing‍

Du musst folgenden Twig Block extenden:

{% block sw_cms_sidebar_block_overview_category %}

    
        {{ $tc('sw-cms.detail.label.blockCategoryText') }}
        {{ $tc('sw-cms.detail.label.blockCategoryImage') }}
        {{ $tc('sw-cms.detail.label.blockCategoryVideo') }}
        {{ $tc('sw-cms.detail.label.blockCategoryTextImage') }}
        {{ $tc('sw-cms.detail.label.blockCategoryCommerce') }}
        {{ $tc('sw-cms.detail.label.blockCategorySidebar') }}
        DEINE_BESCHREIBUNG 
    

{% endblock %}

Die Ordnerstruktur zu diesem File sieht folgendermassen aus:

/custom/plugins/DEIN_PLUGIN/src/Resources/app/administration/src/module/sw-cms/component/sw-cms-sidebar/sw-cms-sidebar.html.twig

 

Hi Shopware6User :),

eine vielleicht etwas dumme Frage: wie extendest du den Block bzw. welchen Pfad verwendest du? Mit 

 {% sw\_extends 'sw-cms-sidebar/sw-cms-sidebar.html.twig' %} funktionierts bei mir leider nicht.

Viele Grüße 

Vanessa :slight_smile:

 

@ShopwareNooby‍

Das Erweitern der twig-Templates für die Administratiion funktioniert hier ein bisschen anders, als für den Storefront:

Stelle sicher, dass die Ordnerstrukur wie folgt ist: 

[...]/module/sw-cms/component/sw-cms-sidebar/

Darin erstellst du dann wie oben beschrieben deinen (überschreibenden) Block. Hier braucht es also kein {% extends %} oder dergleichen. 

Damit der Block dann auch registriert wird, machst du auf gleicher Ebene ein index.js file mit folgendem Inhalt: 

const { Component } = Shopware;
import template from './sw-cms-sidebar.html.twig';

Component.override('sw-cms-sidebar', {
    template
});

Dann musst du noch sicher stellen, dass dieses index.js file erkannt wird, indem du es im main.js importierst: 

import './module/sw-cms/component/sw-cms-sidebar';

 

Anmerkung:  Es ist wohl empfehlenswert eigene Blöcke / Elemente einfach einer bestehenden Kategorie unterzuordnen anstatt eine neue zu erstellen, da dann keine Überschreibung der core files stattfindet. 

2 Likes

Danke Shopware6User :slight_smile:

Wenn Ihr nur eine Kategorie hinzufügen wollt und nicht gleich alle überschreiben, könnt ihr auch folgendes nutzen

{% block sw_cms_sidebar_block_overview_category_options %}
    {% parent %}
    DEINE_BESCHREIBUNG
{% endblock %}

 

2 Likes

Funktioniert die Anleitung noch mit der aktuellsten Shopware Version ?
Wir bekommen die eigene Kategorie nicht angezeigt ^^

Ja, allerdings sieht so der Block zum Überschreiben aus (SW 6.4.7):

{% block sw_cms_sidebar_block_overview_category_options %}
    {% parent %}

    <option value="eigene">Name deiner Kategorie</option>
{% endblock %}

ich fänds voll gut wenns die vorlagen wie bei text&bild mit den bild links und text rechts auch im standard in umgekehrter reihenfolge gäbe. danke shopware. hoffentlich zerhauts nichts schon wieder was beim nächsten update…