Freitextfelder / Attribute

Die Freitextfeld-Verwaltung ist die Weiterenwicklung der bisherigen Attribute in Shopware und löst die Funktion komplett ab. Die bisherigen Attribute - auch von Plugins genutzte - bleiben dabei unverändert und werden auch weiterhin verwendet! Mit Hilfe der Freitextfeld-Verwaltung kannst Du quasi allem in Shopware Freitextfelder geben und diese ganz individuell nutzen: Sei es, um Artikel als Sperrgut zu kennzeichnen oder Kunden als Bonuskunden zu markieren. Die Möglichkeiten der Individualisierung sind sehr umfangreich.

Die Freitextfeld-Verwaltung ist eine Standardkomponente, benötigt aber je nach Anwendungsfall dennoch oft Anpassungen. Beachte daher, dass wir nur den Standard Leistungsumfang supporten können. Alle Anpassungen, wie Implementierungen ins Template oder andere Arbeiten mit Freitextfeldern fallen unter den Bereich individuelle Programmierung und werden nicht supportet.

Das Modul

Das Modul findest Du unter Einstellungen > Freitextfeld-Verwaltung im Backend.

Das Modul gliedert sich in die folgenden Bereiche:

  • Tabelle (1): Hier wählst Du die Datenbanktabelle aus, in denen Du Freitextfelder konfigurieren möchtest.
  • Hinzufügen/Model generieren (2): Hier kannst Du neue Freitextfelder hinzufügen und die Models neu generieren. Beim Anlegen werden die Models automatisch erstmals erzeugt, normalerweise ist das Neugenerieren nicht nötig.
  • Konfigurierte Freitextfelder (3): Hier werden Dir alle konfigurierten, also "aktiven" Freitextfelder aufgelistet.
  • Nicht Konfigurierte Freitextfelder (4): Hier werden dir alle nicht konfigurierten, also "inaktiven" Freitextfelder aufgelistet.
  • Datenbankeinstellungen (5): Hier kannst Du für das gewählte Freitextfeld die Datenbankeinstellungen treffen.
    • Spaltenname: Dies ist der Spaltenname. Falls das Plugin ein Default-Freitextfeld oder eine Drittanbieter-Freitextfeld ist, kannst Du hier keine Bearbeitung vornehmen.
    • Spaltentyp: Hier definierst Du den Spaltentypen, den Du benötigst. 
    • Datenbankspalte zurücksetzen: Mit dieser Funktion leerst Du die Inhalte des Freitextfeldes, das Du gerade bearbeitest. Beachte hierbei, dass die Datensätze für die komplette Spalte geleert werden! Diese Funktion ist erforderlich, wenn Du das Freitextfeld nicht mehr nutzen möchtest oder es änderst.
  • Anzeigeeinstellungen (6): Hier definierst Du die Anzeigeeinstellungen für Dein Freitextfeld, ob es im Backend angezeigt oder übersetzt werden soll und die entsprechenden Bezeichnungen und Hilfetexte.
    • Label: Hier definierst Du das Label. Dieser Wert wird im Backend quasi als "Feldbezeichnung" ausgegeben.
    • Support Text: Dieser Text steht in kleiner kursiver Schrift unter dem Eingabefeld und ist für ergänzende Informationen gedacht.
    • Hilfe Text: Dieser Text wird als Tooltipp im ?-Symbol rechts neben dem Eingabefeld angezeigt.
    • Position: Dies definiert die Position des Freitextfeldes.
    • Im Backend anzeigen: Hiermit definierst Du, ob das Freitextfeld im Backend angezeigt und befüllt werden kann.
    • Schreibgeschützt im Backend: Mit dieser Option kann das Freitextfeld im Backend nur gelesen aber nicht beschrieben werden.
    • Übersetzbar: Hier kannst Du definieren, ob das Freitextfeld übersetzbar sein soll, also der Inhalt für Sprach-/Subshops anders sein kann.

Grundsätzlich gibt es 4 Arten von Freitextfeldern:

  • Nicht Konfiguriert - Die Datenbank enthält die passenden Spalten bereits, sie werden aber noch nicht genutzt (z.B. Attr1 - Attr20 beim Artikel)
  • Konfiguriert - Diese Freitextfelder wurden bereits konfiguriert und können genutzt und befüllt werden.
  • Nicht Konfigurierbar - Dies sind alle Freitextfelder von Drittanbieter Plugins, die in der Datenbankstruktur nicht veränderbar sind, da sie nur vom Drittanbieter oder Plugin befüllt werden.
  • Bereits enthalten - Dies sind Freitextfelder, die es bereits bisher in Shopware gab, daher sind deren Spaltennamen nicht änderbar.

Anlegen eines Freitextfeldes

Zuerst wählst Du die Tabelle aus, in der Du das Freitextfeld anlegen möchtest. Die Auflistung der konfigurierten / nicht konfigurierten Freitextfelder lädt dann erneut und zeigt Dir alle in dieser Tabelle existierenden (nicht-) konfigurierten Freitextfelder an. Falls schon Freitextfelder vorhanden sind, kannst Du diese ändern, andernfalls erstelle einfach ein neues Freitextfeld. Darauf blendet sich der rechte Bereich ein, in dem Du die Datenbank- und Anzeigeeinstellungen definieren kannst. Hier kannst Du Deine gewünschte Konfiguration vornehmen und das Freitextfeld entsprechend speichern. Nach dem Speichern werden die Datenbank-Models erzeugt, das Freitextfeld wandert in den Bereich konfiguriert und steht zur Verwendung bereit.

Ändern eines Freitextfeldes

Grundsätzlich kannst Du jedes Freitextfeld beliebig oft ändern, beachte aber, dass der Inhalt der Freitextfelder dabei nicht verändert wird. Daher ist es erforderlich, beim Ändern des Spaltentyps oder des Entities den Inhalt zu leeren, da sonst unter Umständen falsche Daten ausgelesen werden!

Löschen eines Freitextfeldes

Löschen ist nur bei selbst erstellten Freitextfeldern möglich! Bereits existierende oder Drittanbieter-Freitextfelder können nicht gelöscht werden!

Löschen kannst Du ein selbst erstelltes Freitextfeld mittels des roten Icons (1) im Listing:

Daraufhin wird die komplette Datenbank-Spalte samt Inhalt gelöscht.

Beispiele

Sperrgutversand

Zuerst erstellst Du das Freitextfeld anhand des Beispiels im Bild:

Nach erstellen des Freitextfeldes findest Du das selbige in den Artikelstammdaten im Bereich der Freitextfelder:

Nun kannst Du je nach Artikel die Checkbox anhaken und die Information in den Versandkosten entsprechend berücksichtigen, das passende Tutorial zu den Versandkosten findest Du hier.

Bonuskunden

Hier erstellst Du Dir wieder das Freitextfeld:

Nun kannst Du beim Kunden das Feld mit einer entsprechenden Zahl für die Bonusklasse befüllen:

Diesen Wert kannst Du an anderer Stelle wieder aufgreifen und Deinen Kunden dadurch z.B. definierte Gutscheine anbieten. Alternativ wäre auch möglich, dass Kunden alle 10 Bestellungen eine Klasse höher gestuft werden. Hierfür wäre dann eine Anpassung nötig, die beim Auslösen einer Bestellung die Anzahl prüft und das Freitextfeld ggf. anpasst. Dies erfordert dann jedoch individuelle Programmierung.

Gutscheine nur für bestimmte Kunden anbieten

Das Freitextfeld zur Verwendung wird wie Folgt erstellt:

Als Besonderheit ist hier zu erwähnen, dass hier mit einer Mehrfachauswahl an Kunden gearbeitet wird, so kannst Du im Gutschein selbst mehrere Kunden auswählen:

Die weitere Implementierung ist auch hier wieder individuelle Programmierung.

FAQ

Update auf Shopware 5.2

Deine bisherigen Attribute werden alle in die neue Freitextfeld-Verwaltung übernommen.

Freitextfelder, deren Tabellenspalten mit Großbuchstaben benannt sind, werden zwar migriert, können im neuen Freitextfeld-Managment aber nicht mehr bearbeitet werden, da dieses nur Kleinschreibung unterstützt!

Freitextfelder sind für diese Elemente verfügbar

Freitextfelder können für die folgenden Datenbanktabellen angelegt werden:

ElementDatenbanktabelle
Artikels_articles_attributes
Artikel - Preiss_articles_prices_attributes
Artikel - Bilds_articles_img_attributes
Artikel - Downloads_articles_downloads_attributes
Artikel - Links_articles_information_attributes
Eigenschaften - Sets_filter_attributes
Eigenschaften - Gruppes_filter_options_attributes
Eigenschaften - Options_filter_values_attributes
Artikel - ESDs_articles_esd_attributes
Konfigurator - Vorlages_article_configurator_templates_attributes
Konfigurator - Preis Vorlages_article_configurator_template_price_attributes
Herstellers_articles_supplier_attributes
Banners_emarketing_banners_attributes
Blogs_blog_attributes
Kateories_categories_attributes
Lands_core_countries_attributes
Staats_core_countries_states_attributes
Kundes_user_attributes
Kunden - Rechnungsadresses_user_billingaddress_attributes
Kunden - Lieferadresses_user_shippingaddress_attributes
Warenkorbs_order_basket_attributes
Bestellungs_order_attributes
Bestellung - Positions_order_details_attributes
Bestellung - Rechnungsadresses_order_billingaddress_attributes
Bestellung - Lieferadresses_order_shippingaddress_attributes
PDF Vorlages_order_documents_attributes
Kundengruppes_core_customergroups_attributes
Versandkostens_premium_dispatch_attributes
Product Streams_product_streams_attributes
Einkaufswelts_emotion_attributes
Formulares_cms_support_attributes
Mail-Vorlages_core_config_mails_attributes
Mediens_media_attributes
Zahlungsarts_core_paymentmeans_attributes
Artikel - Exports_export_attributes
Shopseites_cms_static_attributes
Benutzers_core_autd_attributes
Gutscheins_emarketing_vouchers_attributes
Kunden - Adressens_user_addresses_attributes

Spaltentypen

Als Spaltentyp kannst Du die folgenden definieren:

NameTyp
Einfacher TextVARCHAR (Es wird immer 255 als Standard gesetzt!)
Größerer TextTEXT
HTML-EditorMEDIUMTEXT
GanzzahlINT(11)
DezimalzahlDOUBLE
CheckboxINT(1)
DatumDATE
Datum / ZeitDATETIME
ComboboxMEDIUMTEXT
EinfachauswahlVARCHAR
MehrfachauswahlMEDIUMTEXT

Nutzung im Frontend

Nicht alle Freitextfelder werden auch an das Frontend oder die jeweilige Funktion gereicht. Sollte das gewünschte Freitextfeld nicht zur Verfügung stehen, so musst Du dies per Plugin bereitstellen. Aus Performance-Gründen werden weiterhin nicht alle Freitextfelder im Frontend verfügbar sein. Freitextfelder, die den Artikel betreffen, werden im Standard bereits zum Template gereicht und müssen dort nur noch über eine Anpassung im Theme ausgegeben werden. Möchtest Du andere Freitextfelder im Theme nutzen, so musst Du die Integration ans Theme manuell programmieren. Weitere Infos findest Du im Developers Upgrade Guide.

War dieser Artikel hilfreich?