# \[gelöst\] Parameter abfangen und modifizieren

**URL:** <https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [29. November 2012 um 17:53 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190 "2012-11-29T17:53:24Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![pwoerdehoff](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@pwoerdehoff](https://forum.shopware.com/u/pwoerdehoff)\
**Post date:** [29. November 2012 um 17:53 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190/1 "2012-11-29T17:53:24Z")

</div>

Hey liebe SW Community, ist es möglich über einen Hook Parameter abzufangen, zu modifizieren und an die eigentliche Funktion weiterzuleiten?

---

<div class="post-metadata">

**Author:** ![Patrick\_Stahl](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/patrick_stahl/32/7679_2.png) [@Patrick\_Stahl](https://forum.shopware.com/u/Patrick_Stahl)\
**Post date:** [29. November 2012 um 17:58 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190/2 "2012-11-29T17:58:37Z")

</div>

Hallo pwoerdehoff, versuch’ es doch mal damit: ` $return = $args-\>getReturn(); $args-\>setReturn($return); ` Gruß, Patrick :shopware:

---

<div class="post-metadata">

**Author:** ![bui\_ak](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bui\_ak](https://forum.shopware.com/u/bui_ak)\
**Post date:** [29. November 2012 um 22:03 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190/3 "2012-11-29T22:03:29Z")

</div>

so lässt sich deine frage eigentlich nicht beantworten. welchen parameter möchtest du bei welcher aktion modifizieren? im frontend oder im backend?

---

<div class="post-metadata">

**Author:** ![pwoerdehoff](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@pwoerdehoff](https://forum.shopware.com/u/pwoerdehoff)\
**Post date:** [30. November 2012 um 13:10 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190/4 "2012-11-30T13:10:09Z")

</div>

Hey, @Patrick Das funktioniert leider nicht, habe ich schon probiert. Mein hook wird vor der Funktion auf aufgerufen. @bui_ak Es handelt sich um die Funktion core -\> class -\> sAdmin -\> sValidateStep2. Sie bekommt von innerhalb von Frontend -\> Register -\> validatePersonal ein Array mit rules übergeben. Diese Rules möchte ich überschreiben, sodass die Telefonnummer bei der Registrierung kein Pflichtfeld mehr ist.

---

<div class="post-metadata">

**Author:** ![mattis](https://avatars.discourse-cdn.com/v4/letter/m/fbc32d/32.png) [@mattis](https://forum.shopware.com/u/mattis)\
**Post date:** [30. November 2012 um 18:31 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190/5 "2012-11-30T18:31:56Z")

</div>

Hallo pwoerdehoff, nach dem ich selbst länger vor diesem Problem gesessen habe hier meine Lösung: `$this-\>subscribeEvent( 'Shopware\_Controllers\_Frontend\_Register\_validatePersonal\_FilterRules', 'onRegister' );` und die dazugehörige Manipulation: ` public function onRegister(Enlight\_Event\_EventArgs $args) { $rules = $args-\>getReturn(); $rules['fax']['required']=0; return $rules; }` Ich habe dies aber wie man sieht nicht mit Hooks gelöst sondern mit Event. Ich hoffe das es genau das ist was du beabsichtigt hast? Hier kannst du z.B. das $rules Array aus validatePersonal() aus der Register.php manipulieren. Was ich allerdings noch nocht versucht habe ist das array zu erweitern. Viele Grüße mattis

---

<div class="post-metadata">

**Author:** ![pwoerdehoff](https://avatars.discourse-cdn.com/v4/letter/p/8dc957/32.png) [@pwoerdehoff](https://forum.shopware.com/u/pwoerdehoff)\
**Post date:** [3. Dezember 2012 um 10:41 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190/6 "2012-12-03T10:41:29Z")

</div>

Hey mattis, vielen Dank für deine Antwort. Das ist genau was ich gesucht habe, funtioniert wunderbar! Ich wusste garnicht das die Filterfuntionen ein Event feuern, muss man erstmal drauf kommen 😉

---

<div class="post-metadata">

**Author:** ![KatjaP](https://avatars.discourse-cdn.com/v4/letter/k/b5ac83/32.png) [@KatjaP](https://forum.shopware.com/u/KatjaP)\
**Post date:** [6. Juni 2015 um 18:41 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190/7 "2015-06-06T18:41:32Z")

</div>

Hallo zusammen, vielen Dank mattis, dein Beitrag hat mir weitergeholfen. Bei uns soll der Vorname, der Nachname und die Hausnummer kein Pflichtfeld mehr sein. Ich habe deshalb die Events: Shopware\_Controllers\_Frontend\_Register\_validatePersonal\_FilterRules, Shopware\_Controllers\_Frontend\_Register\_validateBilling\_FilterRules und Shopware\_Controllers\_Frontend\_Register\_validateShipping\_FilterRules verwendet. Leider erhalte ich nun die Fehlermeldung: exception ‚Enlight\_Exception‘ with message 'sSaveRegister #00: Fields are missing NO SESSION-COOKIE - d9g4q25jen3n21k0gfjdb95bg2 - Array ( [0] =\> billing#2-\>firstname [1] =\> billing#2-\>lastname [2] =\> billing#2-\>streetnumber ) ’ in /engine/core/class/sAdmin.php:4428 In der Funktion validateRegistrationFields() in der sAdmin Klasse (/engine/core/class/sAdmin.php) werden die benötigten Felder definiert. Es gibt dort auch ein Event Shopware\_Modules\_Admin\_SaveRegister\_FilterNeededFields. Ich weiß allerdings nicht, wie ich dieses Event überschreiben kann. Kann mir da jemand weiterhelfen? Vielen Dank! Viele Grüße Katja

---

<div class="post-metadata">

**Author:** ![KatjaP](https://avatars.discourse-cdn.com/v4/letter/k/b5ac83/32.png) [@KatjaP](https://forum.shopware.com/u/KatjaP)\
**Post date:** [8. Juni 2015 um 16:04 UTC](https://forum.shopware.com/t/gelost-parameter-abfangen-und-modifizieren/10190/8 "2015-06-08T16:04:48Z")

</div>

Hallo zusammen, habe eine Lösung gefunden 😉 Vielleicht kann das jemand anders mal noch brauchen. `$this-\>subscribeEvent( 'Shopware\_Modules\_Admin\_SaveRegister\_FilterNeededFields', 'ShopwareModulesAdminSaveRegisterFilterNeededFields' ); public function ShopwareModulesAdminSaveRegisterFilterNeededFields(Enlight\_Event\_EventArgs $arguments) { $neededFields = $arguments-\>getReturn(); $neededFields["billing"] = array("street", "zipcode", "city", "country"); return $neededFields; }` Viele Grüße Katja
