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:
