vielen Dank für den Tipp. Enterprise-Version von Shopware haben wir leider nicht und das PlugIn scheint ja nur eine 30-tägige Testversion zu sein, ohne dass es eine Kaufversion gibt oder?
ABER:
Ich habe gerade eben herausgefunden, dass es mittlerweile tatsächlich ohne PlugIn eine Funktion gibt, wie man zumindest die Pflichtfelder anpassen kann. Nur an einer Stelle, an der ich das nie und nimmer vermutet hätte.
Wir haben die Professional Edition, aber wo kann ich die Formulare über die Administration anpassen?
In den Erlebniswelten habe ich ein Formular in die Seite eingefügt, kann hier aber nur zwischen Kontakt und Newsletter wählen und nicht wie hier beschrieben
Also in der Professional sind drei Plugins dabei.
Die haben wir alle installiert in der aktuellsten Version.
Die „CMS-Erweiterungen für Shopware 6“ in der Version 1.8.1
Ok, es geht jetzt. Warum auch immer :-). Hatte den Cache zigmal über die ./bin/console cache:clear gelöscht.
Nächstes Problem. Ich kann kein eigenes Formular erstellen, weil ich keine E-Mail-Templates auswählen kann.
Du solltest für das Plugin ein Support-Ticket erstellen können. Mach dies am Besten mal mit den Zugangsdaten zu deinem Shop und wir schauen es uns dann dort an.
Allerdings hätte ich noch eine andere Frage. Wir haben ein Email-Formular erstellt und würden nun gerne, dass diese Email in den Newsletter-Verteiler eingetragen wird und die entsprechende Double-Opt-In Email verschickt wird.
Beim Newsletterformular sind aber zu viele Felder, die ich der Übersichtlichkeit halber gerne ausblenden würde. Außerdem sind dann die Felder und Texte starr vorgegeben.
wie erwähnt, das kriegst du out of the box nicht umgesetzt, ohne es selbst zu programmieren oder programmieren zu lassen. Dafür ist der Formularbaukasten nicht vorgesehen - das Newsletterformular dagegen schon (das kann man sich im Theme ja auch entsprechend anpassen oder anpassen lassen, das es am Ende nur die Felder enthält, die man möchte).
Ich habe die Felder beim Newsletter problemlos anpassen bzw. ein- und ausblenden können, nur beim Select-Feld „Newsletter abonnieren bzw. abbestellen“ komme ich einfach nicht weiter. Hat jemand einen Ansatz, wie ich dies ausblenden kann, ohne das die eigentliche Funktion verloren geht.
Ich habe das Kontaktformular in der Community Edition ein wenig anpassen müssen. Die von Shopware definierten Pflichtfelder haben sich folgendermaßen überschreiben lassen:
MyPlugin/src/Content/ContactForm/Validation/ContactFormValidationFactory.php
kopiert von
Shopware/Core/Content/ContactForm/Validation/ContactFormValidationFactory.php
...
private function createContactFormValidation(string $validationName, SalesChannelContext $context): DataValidationDefinition
{
$definition = new DataValidationDefinition($validationName);
// Nur noch Email und Comment/Message als Pflichtfelder
$definition
->add('email', new NotBlank(), new Email())
->add('comment', new NotBlank());
...
MyPlugin/src/Content/ContactForm/SalesChannel/ContactFormRoute.php
kopiert von
Shopware/Core/Content/ContactForm/SalesChannel/ContactFormRoute.php
...
public function load(RequestDataBag $data, SalesChannelContext $context): ContactFormRouteResponse
{
$this->validateContactForm($data, $context);
$mailConfigs = $this->getMailConfigs($context, $data->get('slotId'), $data->get('navigationId'));
// Nur nach der SalutationID suchen, wenn sie auch geliefert wird
if ($data->get('salutationId')) {
$salutationCriteria = new Criteria([$data->get('salutationId')]);
$salutationSearchResult = $this->salutationRepository->search($salutationCriteria, $context->getContext());
if ($salutationSearchResult->count() !== 0) {
$data->set('salutation', $salutationSearchResult->first());
}
}
....
Namespaces müssen natürlich angepasst werden. Außerdem ist fraglich, bis zu welchem Update das gut geht. Für mich aber vorerst einen ausreichende Lösung. Alternativ kann man sich ein eigenes Formular anlegen indem man sich die Struktur aus Shopware/Core/Content/ContactForm abschaut.
Einfach mal „Push“. Scheint mit jedem Thema mehr, welches man liest zur guten Note von Shopware zu gehören. Es ist wirklich schade, dass man die Community bei vielen Sachen einfach hängen lässt.