Wie erstellt man Freitextfelder im Plugin?

Wie erstellt man Freitextfelder im Plugin?

Ewald Gering
19. Oktober 2018

Freitextfelder sind dir sicherlich schon bekannt und eventuell hast du auch schon mit diesen gearbeitet. In diesem Beitrag wollen wir dir eine Methode beibringen um in einem Plugin ein Freitextfeld zu erstellen.

Wie du später im Frontend das Shopware Freitextfeld ausgeben lassen kannst erfährst du in diesem Beitrag.

(Lesedauer ~5 Minuten)

Die Pluginerstellung

Zuerst erstellen wir einen Ordner der den gleichen Namen wie unsere Pluginklasse haben soll. Wir nehmen für dieses Beispiel 'EmzAttribute'. 

Weitere Infos zur Pluginerstellung erfährt ihr in dieser Blogreihe.

Also legen wir in unserem Shopware Verzeichnis unter 'custom/plugins' den Ordner 'EmzAttribute' und in diesem die 'EmzAttribute.php' Datei an.

Plugin Informationen

Alle allgemeinen Informationen zu unserem Plugin werden in der plugin.xml Datei gespeichert. Diese muss im Hauptverzeichnis unseres Plugins stehen.


Unter Label wird der Name des Plugins (8mylez Attribute) für den Plugin Manager angegeben und die Version. Als erste Release Version verwenden wir die 1.0.0.

Anschliessend kommen Copyright, Lizenzmodell und Author Daten hinzu sowie eine Verlinkung zu unserer Webseite.

In dieser Datei finden wir auch den Changelog welcher immer Informationen zu der jeweiligen Versionierung enthalten soll damit jeder Entwickler der in unser Plugin schaut soweit weiß was in jener Version geändert wurde.

Pluginbild

Wenn wir schon bei dem hinterlegen der Daten sind können wir ja auch gleich ein schönes Pluginbild einsetzen. Das Bild muss den schlichten Namen 'plugin.png' haben und auch im Hauptverzeichnis unseres Plugins liegen.

Die Klasse Plugin von der wir in unserer PHP Datei ableiten erkennt diese Dateien und verarbeitet diese automatisch.

Install, Uninstall und Build Funktionen

Kommen wir zurück zum Coden in unsere 'EmzAttribute.php'. Nun werden die Grundlegenden Funktionen wie die Installationsmethode, Deinstallationsmethode und Buildmethode erstellt.

Bei diesen Funktionen rufen wir lediglich die Parent Funktionen auf welche in der Plugin.php von Shopware hinterlegt sind.

Attribut beim Installieren erstellen

Jetzt kommen wir endlich zu dem eigentlichem Thema und zwar das Attribut.

Wir erweitern die Installationsmethode und holen uns über den Container den CRUD Service der Shopware Attribute. CRUD steht für Create, Read, Update und Delete. Das sind auch die Möglichkeiten die wir mit diesem Service haben. Mehr Infos dazu findest du hier: Shopware Attribute System 

Was bedeuten die Parameter welche wir übergeben?
- 's_articles_attributes' steht für die Tabelle in welcher das Attribute erstellt werden soll

- 'emz_fsk' ist der Name des Attributes mit unserem Entwicklerkürzel ('emz')

- 'boolean' steht für eine Checkbox

- 'label' wäre der Titel des Attributes welcher z.B. im Backend angezeigt werden kann

- 'displayInBackend' hier kann man angeben ob das Attribut im Backend bei z.B. den Artikeln sichtbar sein soll oder nicht

- 'translateable' lässt uns die Inhalte des Attributes später bei den Artikeln übersetzen

- 'position' dient der Anzeige im Backend wenn dieses Attribut sichtbar ist. 1 steht für ganz oben

- 'custom' erlaubt eine Anpassung des Attributes im Freitextfeld-Manager über das Backend

Damit ist unser Freitextfeld fertig konfiguriert. Nun müssen wir die Attribute Models neu generieren damit diese auch im Template zur Verfügung stehen.

Mit der Funktion 'scheduleClearCache' lasse ich nach dem installieren noch den Cache leeren.

Attribut beim Deinstallieren entfernen


Wenn für das Plugin keine Verwendung mehr besteht wird es deinstalliert. Natürlich ist das Attribut damit nicht mehr Notwendig. Daher lassen wir dieses bei der Deinstallation aus dem Shop löschen um keine unnötigen Sachen zu hinterlassen welche auch zu Fehlern führen können.

Hierzu nutzen wir wieder den CRUD-Service und logischerweise die delete Funktion von diesem. Nun braucht man aber nur das nötigste anzugeben wie den Tabellennamen und den Attributnamen welcher gelöscht werden soll.

Zu guter letzt lassen wir nochmal die Models neu generieren damit auch wirklich nichts mehr im System liegen bleibt.

Ewald Gering
Ewald Gering
Ewald Gering ist Autor und Entwickler bei der Shopware Agentur 8mylez. Sein Spezialgebiet sind Theme Anpassungen.

4 Kommentare

starker Eingriff
starker Eingriff
Hallo Alexander,
dein Artikel ist echt gut. Ich wünschte ich hätte ihn früher entdeckt. Das tolle an deinem Artikel ist, das man ihn wunderbar als Checkliste verwenden kann.
Vielen Dank,
Jan
Alexander Wolf
Alexander Wolf
Hey Jan,

vielen Dank! Ich gebe das Feedback an Ewald weiter, der wird sich sicherlich freuen :)

Gruß
Alexander
Mario
Mario
Hi, gibt es dazu auch die Dateien? Dann ist der Text einfacher zu verstehen. Vielen Dank!
Alexander Wolf
Alexander Wolf
Hey Mario,

in der Dokumentation von Shopware https://developers.shopware.com/developers-guide/attribute-system/#plugin-definition-and-attribute-creation gibt es ein Beispiel zum Runterladen.

Gruß
Alexander

Was denkst du?

SW6 Logo

Sicher Dir die besten Shopware 6 Tipps & Tricks

Trag Dich ein und Du erhältst unser Shopware 6 Whitepaper kostenlos!
Trag dich für unseren Newsletter an, im Anschluss erhältst du das Whitepaper. Mit dem Abschicken deiner Daten akzeptierst Du unsere Datenschutzerklärung.

Neueste Beiträge

Symfony Profiler: Vom Debugging-Tool zum Sicherheitsrisiko
Shopware 6 MCP: Deinen Shop mit Claude und Codex verbinden
Shopware PaaS Native: Wann sich Platform as a Service für deinen Shop lohnt
Was verbirgt sich hinter Copilot & Nexus bei Shopware?
Performance-Grenzen ausreizen – Shopware-Stresstest für Bestellungen in Millionenhöhe

Kontaktanfrage

Fragen? Schreib uns.

Kontaktiere uns gern, wenn Du Interesse an gemeinsamen Projekten hast.
HR Managerin Monika Geiß
Standort Paderborn Icon

Paderborn

Technologiepark 23

33100 Paderborn

Standort Paderborn Icon

Leipzig

Berliner Straße 13

04105 Leipzig

Kontaktanfrage

✓ 36 Mitarbeiter

✓ Shopware Platinum Partner

✓ 47.000+ Plugin Downloads

✓ 60+ aktive Shops

✓ Full-Service Shopware Agentur

✓ 70 Shopware Videos auf Youtube

✓ Alle Shopware Zertifizierungen

Maxcluster

Shopware United

Pickware 

Mollie

B2B Sellers

TimmeHosting

Händlerbund

© 2026 by 8mylez GmbH
|
ImpressumDatenschutz