Hallo,
ich brauche mal etwas Hilfe. Ich möchte ein zusätzliches Feld bei Kunden hinzufügen, in der ich eine alternative E-Mail Adresse für den Rechnungsversand erfassen kann (invoicemail). Das klappt über die neue Freitextfeld-Verwaltung in 5.2 auch ganz gut, bzw. über ein eigenes Plugin. Mir ist es auch gelungen das Registrierungsformular um das Feld zu erweitern und die alternative E-Mail-Adresse zu speichern. Die Freitextfelder werden auch schön über die REST API ausgegeben.
Im Account (account/profile) unter “Persönliche Daten” gelingt mir das aber nicht. Ich bekomme das Feld zwar dort angezeigt, der Wert wird aber nicht gespeichert.
{extends file="parent:frontend/account/profile.tpl"}
{block name='frontend_account_profile_profile_input_lastname' append}
{/block}
Ich nehme mal an, dass dort die Attributes nicht berücksichtigt werden? Das sieht zumindest danach aus, wenn ich mir die Klasse Shopware\Bundle\AccountBundle\Form\Account\ProfileUpdateForm ansehe.
Wenn ich das Attribut als Freitextfeld dem Address-Model hinzufüge (z.B. billingAddress), dann funktioniert das Speichern auch über das Addressformular. In der Klasse AddressFormType taucht auch eine Behandlung der Attrbutes auf:
$builder->add('attribute', AttributeFormType::class, [
'data_class' => AddressAttribute::class
]);
Aber ich möchte das Attribut dem User/Customer zuweisen und nicht den Addressen.
Wie also kann ich dieses Attribut in dem Formular bearbeiten? Und hat jemand einen Tipp wie ich das anstellen kann, dass wenn der Kunde das Feld leer lässt beim Speichern/Anlegen des Kunden automatisch die Standard-Addresse übernommen wird?