# Registrierungsformular ändern: Custom Fields und File Upload hinzufügen!

**URL:** <https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665>\
**Category:** Programmierung\
**Created:** [12. Februar 2020 um 21:35 UTC](https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665 "2020-02-12T21:35:18Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![FrazeColder](https://avatars.discourse-cdn.com/v4/letter/f/a5b964/32.png) [@FrazeColder](https://forum.shopware.com/u/FrazeColder)\
**Post date:** [12. Februar 2020 um 21:35 UTC](https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665/1 "2020-02-12T21:35:18Z")

</div>

Hallo zusammen,

ich habe ein Problem, was sich aber in mehrere kleine Probleme zerlegen lässt. Leider habe ich allerdings noch keine Antwort auf mein Problem gefunden und ich zweifel an der Umsetzbarkeit!

Mein Ziel ist, dass ich gerne weitere Felder (als Pflichtfelder) beim Registrierungsformlar hinzufügen möchte sowie ein File Upload (Bild & PDF). Diese Felder sollen natürlich auch übermittelt und gespeichert werden. Ich habe zwar im Backend schon Custom Fields angelegt, muss die jetzt allerdings noch im Frontend anzeigen lassen und natürlich auch in der Datenbank speichern lassen.

Die Frage ist, wie mache ich das. Ich finde dazu leider keine Anleitung im Netz. Shopware 6 ist ja auch noch nicht so verbreitet.

MfG und Vielen Dank!

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [13. Februar 2020 um 11:51 UTC](https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665/2 "2020-02-13T11:51:39Z")

</div>

```
systemConfigService = $systemConfigService;
        $this->translator = $translator;
    }

    public static function getSubscribedEvents(): array
    {
        return [
            CustomerEvents::MAPPING_REGISTER_CUSTOMER => 'addVerpackG'
        ];
    }

    public function addVerpackG($event): void
    {

        $data = $event->getInput();

        $customer = $event->getOutput();

        if (!isset($customer['customFields'])) {
            $customer['customFields'] = [];
        }

        $customer['customFields']['moorl_verpack_g_customer_active'] = ($data->get('verpackG') !== null);

        $event->setOutput($customer);

    }

}

```

Es gibt ein Event dafür, bin mir ziemlich sicher, dass auch der File Upload damit möglich ist. CustomFields auf jeden Fall 😉

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![FrazeColder](https://avatars.discourse-cdn.com/v4/letter/f/a5b964/32.png) [@FrazeColder](https://forum.shopware.com/u/FrazeColder)\
**Post date:** [13. Februar 2020 um 12:16 UTC](https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665/3 "2020-02-13T12:16:02Z")

</div>

Wo finde ich das in der Dokumentation?

Also muss ich als erstes das Custom Field im Backend anlegen und dann den Code personalisieren? Das wars?

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [13. Februar 2020 um 12:23 UTC](https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665/4 "2020-02-13T12:23:35Z")

</div>

Doku gibt es hierzu, Rest muss man sich erarbeiten:

[https://docs.shopware.com/en/shopware-platform-dev-en/how-to/register-subscriber](https://docs.shopware.com/en/shopware-platform-dev-en/how-to/register-subscriber)

[https://docs.shopware.com/en/shopware-platform-dev-en/internals/core/data-abstraction-layer/custom-field](https://docs.shopware.com/en/shopware-platform-dev-en/internals/core/data-abstraction-layer/custom-field)

---

<div class="post-metadata">

**Author:** ![FrazeColder](https://avatars.discourse-cdn.com/v4/letter/f/a5b964/32.png) [@FrazeColder](https://forum.shopware.com/u/FrazeColder)\
**Post date:** [13. Februar 2020 um 17:22 UTC](https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665/5 "2020-02-13T17:22:13Z")

</div>

Vielen Dank!

Hast Du noch einen Tipp zum File Upload? Da Blicke ich leider gar nicht durch… Wie funktioniert das mit dem speichern des Dokumentes und wie kann ich es im Frontend und im Admin Dashboard wieder zur Verfügung stellen?

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [14. Februar 2020 um 08:08 UTC](https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665/6 "2020-02-14T08:08:10Z")

</div>

@FrazeColder‍  
Also ich kann dir den Tipp geben, dass ich bei der selben Problemstellung (Dokument Speichern) mir einfach angeschaut habe was im Shopware core passiert, wenn ich eine Datei im Medien Manager hoch lade 😃

---

<div class="post-metadata">

**Author:** ![patchee500](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/patchee500/32/17600_2.png) [@patchee500](https://forum.shopware.com/u/patchee500)\
**Post date:** [23. Februar 2020 um 00:56 UTC](https://forum.shopware.com/t/registrierungsformular-aendern-custom-fields-und-file-upload-hinzufuegen/64665/7 "2020-02-23T00:56:11Z")

</div>

> [@FrazeColder schrieb:](https://forum.shopware.com/profile/33991/FrazeColder "FrazeColder")
> 
> Vielen Dank!
> 
> Hast Du noch einen Tipp zum File Upload? Da Blicke ich leider gar nicht durch… Wie funktioniert das mit dem speichern des Dokumentes und wie kann ich es im Frontend und im Admin Dashboard wieder zur Verfügung stellen?

Falls noch jemand Interesse an einem&nbsp;rudimentären Ansatz hat, hochgeladene Bilder (via Formularupload)&nbsp;der Medien Ansicht hinzuzufügen,&nbsp;folgendes hat bei mir funktioniert:  
Zuerst Media Entity via Repository speichern und dann persistFileToMedia entsprechend aufrufen:

```
$this->mediaRepository->upsert(
    [
        [
            'id' => $customImageId,
            'mediaFolderId' => $customImageFolderId,
            'name' => 'my_custom_image'
        ]
    ],
    $systemContext
);

$mediaFile = new MediaFile(
    $_FILES[$image]['tmp_name'],
    $_FILES[$image]['type'],
    $extension,
    $_FILES[$image]['size']
);

$this->fileSaver->persistFileToMedia($mediaFile, 'my_custom_image', $customImageId, $systemContext);

```

&nbsp;
