Die Inhaltstypen ermöglichen es Dir, Backendmodule zu erstellen, über die Du eigene Inhalte pflegen und z.B. im Frontend ausspielen kannst. Denkbar ist es z.B., eine Liste mit verschiedenen Rezepten zu erstellen. In diesem Artikel zeigen wir Dir, welche Schritte dazu notwendig sind.
Um das Ganze noch besser zu verdeutlichen, findest Du am Ende ein konkretes Beispiel mit entsprechenden Screenshots.
Bevor Du einzelne Seiten erstellen und mit Inhalt füllen kannst, ist es zunächst erforderlich das Grundgerüst für die Seiten zu definieren.
Wie Du dies manuell über das Backend vornimmst, beschreiben wir Dir hier.
Darüber hinaus besteht die Möglichkeit einen Inhaltstyp über ein eigenes Plugin bereitzustellen - wie dies möglich ist, erfährst Du in unserer Entwicklerdokumentation unter https://developers.shopware.com/developers-guide/content-types.
Um einen Inhaltstyp anzulegen, rufe zunächst das Modul unter Einstellungen > Inhaltstypen auf und klicke auf Hinzufügen (1).
Im Bereich Allgemein kannst Du zunächst einen Namen (1) für den Inhaltstyp vergeben. Dieser wird im Backend unter Inhalte als Menüeintrag für den Inhaltstyp verwendet. Über diesen Menüeintrag kannst Du später die einzelnen Inhalte verwalten. Dies beschreiben wir näher im Abschnitt Inhalte pflegen.
Außerdem wird der Name für den Seitentitel im Frontend verwendet, wenn Du die Funktion Im Frontend ein Listing/Details-Seite erzeugen (3) aktiviert hast.
Der Icon-Name (2) definiert das Symbol, das im Menü im Backend neben dem Namen angezeigt wird. Hierzu steht Dir eine große Auswahl an vordefinierten Icons zur Verfügung. Die Übersicht mit dem hier einzutragenden Namen findest Du unter https://developers.shopware.com/designers-guide/backend-icons/.
Für die Darstellung kannst Du folgende Punkte konfigurieren:
Zunächst legst Du fest, ob dieser Inhaltstyp im Frontend ein Listing/eine Detail-Seite erzeugen soll (3). Wenn Du dies aktivierst, wird Dir unterhalb des Namens eine Infozeile eingeblendet, in der Du entnehmen kannst, wie die Inhaltsübersicht aufgerufen werden kann. Diesen Eintrag kannst Du dann z.B. in einer Kategorie verlinken, um Deinen Kunden den Aufruf per Klick auf diese Kategorie zu ermöglichen.
Bitte beachte, dass für die Generierung dieses Links der Initial vergebene Name verwendet wird.
Du kannst den Namen zwar nachträglich ändern, die technische URL (Aufruf über die shopware.php) behält jedoch den ursprünglichen Aufbau.
Die SEO-URLs werden jedoch bei einem Neuaufbau des SEO-Index umbenannt, wenn die entsprechende URL noch verfügbar ist.
In der Tabelle Seo-URLs (7) werden Dir die generierten Seo-URLs angezeigt, hierüber kannst Du die Seiten dann im Frontend aufrufen. Den Aufbau der Seo-URLs definierst Du über das Seo-URL-Template (10).
Wenn Du die Anzeige im Frontend aktivierst, sind die Angaben Titel (4), Beschreibung (5), Bild (6), Meta Title (8) und Meta Description (9) verpflichtend. Beachte hierbei bitte, dass es notwendig ist, zunächst entsprechende Felder im Bereich Felder (12) anzulegen, um eine Auswahl treffen zu können. Dazu erfährst Du mehr im Abschnitt Felder konfigurieren. Die DropDown-Liste Suchmaschinen Robots Tag (11) ermöglicht Dir festzulegen, ob Seiten indexiert oder nicht indexiert werden sollen und ob Links auf der Seite gefolgt oder nicht gefolgt werden sollen.
Um ein Feld anzulegen, klicke auf Hinzufügen (1), dadurch öffnet sich folgende Maske:
Das Label (1) dient der Bezeichnung des Felds. Es wird im Backend-Modul als Spaltenüberschrift genutzt (vorausgesetzt Feld als Spalte anzeigen im Backend (6) ist aktiv) und im Frontend als Überschrift für den jeweiligen Block verwendet.
Außerdem kannst Du definieren, ob für dieses Feld die Angabe verpflichtend (2) ist.
Über den Typ (3) legst Du fest, welches Datenformat für das Feld verwendet wird bzw. welchen Inhalt es enthalten kann.
Der (optionale) Hilfetext (4) wird im Backend-Modul per Mouseover über ein blaues Fragezeichen-Symbol neben dem Feld angezeigt. Außerdem kann unter dem jeweiligen Feld zusätzlich ein Support-Text (5) angezeigt werden, der z.B. eine kurze Erklärung zu dem Feld bietet.
Gerade bei umfangreicheren Inhalten kann die Übersicht im jeweiligen Modul aufgrund der großen Spaltenzahl unübersichtlich werden, daher besteht die Möglichkeit, ein Feld nicht als Spalte im Backend anzuzeigen (6). Der Inhalt des Feldes kann dann weiterhin normal gepflegt werden, wird jedoch nicht in der Backend-Übersicht angezeigt.
Außerdem ist es möglich, den Inhalt eines Feldes von der Suche im jeweiligen Inhaltsmodul auszuschließen (7). Für jedes Feld kann konfiguriert werden, ob dieses Übersetzbar (8) ist. Hierbei geht es nur um den Inhalt des Feldes. Die weiteren Übersetzungsmöglichkeiten beschreiben wir im Abschnitt Übersetzung.
Nachdem Du Deine benötigten Felder angelegt und die im Reiter Allgemein notwendigen Angaben gemacht hast, kannst Du den Inhaltstyp speichern. Hierdurch wird nun ein neuer Eintrag im Menü Inhalte erzeugt (ggfs. ist der Eintrag erst korrekt sichtbar, wenn Du das Backend einmal neu geladen hast).
Jeder angelegte Inhaltstyp stellt im Menü Inhalte einen eigenen Menüeintrag bereit, über den die einzelnen Inhalte gepflegt werden können.
Um einen Inhalt anzulegen, klicke auf den Button Hinzufügen (1), es öffnet sich dann die Maske mit den einzelnen Feldern, die Du vorher bei der Anlage des Inhaltstyps definiert hast.
Nachdem Du die einzelnen Felder gefüllt und das Fenster gespeichert hast, wird eine entsprechende Inhaltsseite angelegt.
Im Frontend erreichst Du die Inhalts-Übersicht über die Url dein-shop.de/name-des-inhaltstyps, eine einzelne Inhaltsseite über dein-shop.de/name-des-inhaltstyps/titel-des-inhalts.
Wie dies im Detail aussieht, zeigen wir Dir im unten aufgeführten Beispiel.
Bitte beachte, dass für die Anzeige der Bilder auf der Detailseite des einzelnen Inhalts Thumbnails verwendet werden. Sollten die Bilder, die Du verwenden möchtest, in einem Album der Medienverwaltung abgelegt sein, für die noch keine Thumbnailgrößen definiert sind, ist es erforderlich, diese anzulegen.
Wie dies möglich ist, beschreiben wir in Dokumentation für den Medien-Manager.
Wenn Du einen Inhaltstyp anlegst und somit ein Backendmodul erstellt wird, ist dies im Backend zunächst nur in einer Sprache verfügbar. Um die Bezeichnungen der Felder auch für andere Sprachen verfügbar zu machen, werden beim Anlegen eines Feldes automatisch Textbausteine erstellt, über die Du dann die Übersetzung vornehmen kannst. Die Textbausteine sind je Inhaltstyp in einem eigenen Unterverzeichnis hinterlegt und Du findest sie in der Textbaustein Verwaltung unter Namespaces/backend/custom"namedesmoduls".
Zusätzlich zur Bezeichnung des Feldes kannst du hier auch den Hilfe- und Support-Text anpassen. Um den Eintrag im Menü Inhalte zu übersetzen, steht unter backend/index/view/main der Eintrag CustomNamedesModuls/index zur Verfügung.
Feldinhalte
Wenn Du ein Feld für einen Inhaltstypen anlegst, kannst Du definieren, ob dieses Feld übersetzt werden kann. Aktivierst Du die Option, wird in dem entsprechenden Feld dann das (auch aus anderen Bereichen in Shopware bekannte) Globus-Symbol eingeblendet, worüber Du das Übersetzungsmodul für das Feld öffnen kannst. Hierüber ist es dann möglich für jeden Sprach- bzw. Subshop einen eigenen Inhalt anzulegen.
Textbausteine
In der Textbaustein-Verwaltung wird ebenso - wie für die Backendübersetzung - ein Bereich für Textbausteine des Inhaltstyps im Frontend angelegt. Auch dieser trägt den Namen custom"namedesinhaltstyps" und ist unter Namespace/frontend zu finden.
In diesen Textbausteinen kannst Du u.A. Meta-Title und Meta-Description setzen.
Außerdem nimmst Du hier die Übersetzung des Namens vor, der im Frontend auf der Übersichtsseite des Inhtalstyps angezeigt wird. Hierzu ist es erforderlich, einen weiteren Textbaustein mit dem Namen name anzulegen und mit entsprechendem Inhalt zu pflegen.
Weitere Informationen zu den Textbausteinen findest Du unter https://docs.shopware.com/de/shopware-5-de/einstellungen/textbausteine
Da bei der Verwendung der Inhaltstypen Einstellungen an mehreren Stellen vorgenommen werden, möchten wir dies mit einem Beispiel verdeutlichen.
Es soll eine Seite mit Rezepten erstellt werden.
Das Grundmodul, über das die Rezepte angelegt werden, wird über Einstellungen > Inhaltstypen erstellt und konfiguriert. Hier kannst Du auch festlegen, welche Daten Du für die Rezepte pflegen möchtest und die entsprechenden Felder anlegen. Im Beispiel verwenden wir Titel, Beschreibung, Bild, Zutaten und Zubereitung.
Nachdem Du dies wie im Abschnitt Anlegen eines neuen Inhaltstyps beschrieben durchgeführt hast, kannst Du nun die einzelnen Rezepte anlegen. Dies ist im Menü Inhalte möglich. Hier ist nun ein neuer Eintrag mit dem Namen des Inhaltstyps (beispielhaft "Rezepte") vorhanden. Hierüber öffnest Du die Übersicht der angelegten Rezepte und kannst neue Rezepte hinzufügen.
In dem Fenster für das Anlegen eines Rezepts siehst Du nun die einzelnen Felder, die Du vorab bei der Erstellung des Inhaltstyps definiert hast.
Für die Übersetzungen stehen hier folgende Textbausteineinträge zur Verfügung:
backend/index/view/main - CustomRezepte/index für den Eintrag im Menü Inhalte
backend/customrezepte/main enthält die Textbausteine für die einzelnen Einträge innerhalb des Backendmoduls
frontend/customrezepte/main stellt Textbausteine bereit, um im Frontend Metainformationen anpassen zu können.
Backend
Einstellungen > Inhaltstypen:
Inhaltstypen > Allgemein:
Inhaltstypen > Felder:
Menü Inhalte:
Inhalte > Rezepte:
Rezepte > Details
Frontend
Übersicht:
Detailansicht: