Wie erstellt man Freitextfelder im Plugin?

Wie erstellt man Freitextfelder im Plugin?

Ewald Gering 19. Oktober 2018 0

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.

Hol dir unseren kostenlosen Shopware E-Mail-Kurs:

Lerne wie du deinen eigenen Shopware 5 
Shop erstellst und verwaltest

Noch keine Kommentare vorhanden.

Was denkst du?

Shopware SEO
Guide 2018

shopware seo guide

Genug von schlechten Rankings?

mehr erfahren

Tools, die wir

verwenden

seobility

Das Shopware eBook für Einsteiger!

shopware tutorial ebook mockup
Ausführliche Schritt für Schritt Anleitungen, Tipps & Tricks für alle, die gerne am eigenen Shopware Shop basteln.
Jetzt kaufen

Hol dir 

wertvolle Tipps 
für deinen
Shopware Shop

Wir zeigen dir, wie du deinen
Shopware 5 Shop optimieren
kannst.


Trage einfach deine
E-Mail Adresse ein:

Beliebt

Was du über die Shopware 5 Theme Struktur wissen musst und wie du ein eigenes Template erstellst
Logo Größe mit Less für Shopware 5 anpassen
Die größten Fehler bei der Entwicklung eines Shopware 5 Themes
Vorsicht Shopware Update! Was du beim Updaten beachten musst
Shopware Theme: Eigenes Listing Layout erstellen
Plugin Themes überschreiben und anpassen
Staging Umgebung – Was ist das und warum brauchst du eine?
Theme Entwicklung: Hugo Boss Header zum Selbermachen
Wie du jedes Icon in Shopware 5 anpassen kannst
Shopware 5 - Wie du deine Shop Geschwindigkeit optimierst
© 2017 by 8mylez. Powered by Goltfisch GmbH.