# Checkout extra checkbox validierung

**URL:** <https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035>\
**Category:** Plugins\
**Tags:** drittanbieter-plugin\
**Created:** [28. Oktober 2018 um 03:13 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035 "2018-10-28T03:13:57Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![sinplex](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@sinplex](https://forum.shopware.com/u/sinplex)\
**Post date:** [28. Oktober 2018 um 03:13 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/1 "2018-10-28T03:13:57Z")

</div>

Guten Tag,

ich würde gerne eine extra checkbox auf der checkout seite einbinden und dieses auch rot markieren falls kein häkchen gesetzt wurde.

Nun habe ich folgendes problem, wenn ich den submit button drücke wird keiner der hooks aus meinem plugin erneut ausgeführt.

&nbsp;

Ich habe mir den code im checkout controller angeguckt und wollte eigentlich genau so verfahren wie es mit sAGBError bzw sAGB gemacht wird.

Ich habe ein neues plugin erstellt und extende das template “frontend/checkout/confirm.tpl” zusätzlich habe ich einen subscriber registriert

der auf folgende events hört

“Shopware\_Controllers\_Frontend\_Checkout::confirmAction::before”

“Shopware\_Controllers\_Frontend\_Checkout::finishAction::before”

“Shopware\_Controllers\_Frontend\_Checkout::paymentAction::before”

alle 3 haben im checkout controller etwas mit der agb checkbox zutun. wenn sAGB nicht angehakt ist wird

ein forward auf “confirm” gemacht mal mit und mal ohne zusätzliche parameter anschließend wird aber keiner der hooks mehr betreten. Liegt das an dem forward? werden die hooks betreten aber die änderungen nicht gerendert? und wenn ja, warum wird das label von sAGB als rot gekennzeichnet und mein label was auch auf $sAGBError hört nicht? Gibt es da eine andere methode?

Bin leider relativ neu was shopware angeht.

&nbsp;

Vielen dank im Voraus!

---

<div class="post-metadata">

**Author:** ![mastox](https://avatars.discourse-cdn.com/v4/letter/m/48db29/32.png) [@mastox](https://forum.shopware.com/u/mastox)\
**Post date:** [28. Oktober 2018 um 08:37 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/2 "2018-10-28T08:37:57Z")

</div>

Hallo&nbsp;sinplex,  
Plugin ist aktiviert und du hast wirklich alle Caches gelöscht?  
Kannst&nbsp;du, den schon sagen das einer der Hooks zieht?  
Also am besten einfach mal ein die(‘ich bin hier’); machen damit du auch sicher bist das der&nbsp;Hook&nbsp;zieht.  
Kannst du auch mal den Code vom&nbsp;forward&nbsp;hier&nbsp;reinposten, sonst&nbsp;wird&nbsp;es schwierig hier etwas&nbsp;Genaues&nbsp;zu sagen 😉

---

<div class="post-metadata">

**Author:** ![sinplex](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@sinplex](https://forum.shopware.com/u/sinplex)\
**Post date:** [28. Oktober 2018 um 13:55 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/3 "2018-10-28T13:55:23Z")

</div>

Danke schon mal für die antwort!

Also ich bin mir sicher das

```
 Shopware\_Controllers\_Frontend\_Checkout::confirmAction::before

```

zieht, zumindest beim ersten betreten der seite. Danach zieht keiner der hooks mehr. Was passiert denn eigentlich im hintergrund wenn der submit button gedrückt wird?

Wird die has–error klasse eventuell mit JS beim agb label hinzugefügt?

Hab jetzt mal xdebug benutzt um zu gucken welche actions überhaupt aufgerufen werden, es wird eigentlich nur die

```
 confirmAction 

```

betreten aber auch nur ein einziges mal beim ersten aufruf der seite und danach hält der debugger weder in

```
 confirmAction

```

noch in

```
 finishAction oder paymentAction

```

erneut, und auch in keinem der hooks. Ich gehe mal davon aus das es daran liegt das ich nicht genau verstehe was der click auf den submit button auslöst wenn das agb feld nicht angehakt ist.

---

<div class="post-metadata">

**Author:** ![mastox](https://avatars.discourse-cdn.com/v4/letter/m/48db29/32.png) [@mastox](https://forum.shopware.com/u/mastox)\
**Post date:** [28. Oktober 2018 um 15:02 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/4 "2018-10-28T15:02:31Z")

</div>

Der Hook&nbsp;

```
 Shopware\_Controllers\_Frontend\_Checkout::finishAction::before

```

wird auf jeden fall aufgerufen wenn du den Submit Button klickt, sofern alle Pflichtfelder ausgefüllt sind.

Hier nur ein beispiel wie es bei mir Funktioniert hat.

```
    public function onFrontendPostDispatch(\Enlight_Event_EventArgs $args)
    {
        /** @var $controller \Enlight_Controller_Action */
        $controller = $args->getSubject();
        $view = $controller->View();
        $response = $controller->Response();

        $agb2 = false;

        if ($agb2 === false){
            $response->setRedirect('/checkout');
            $response->sendResponse();
            die();
        }

    }

```

&nbsp;

> [@sinplex schrieb:](https://forum.shopware.com/profile/30156/sinplex "sinplex")
> 
> Wird die has–error klasse eventuell mit JS beim agb label hinzugefügt?

&nbsp;Mit ziemlich hoher wahrscheinlichkeit.

---

<div class="post-metadata">

**Author:** ![sinplex](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@sinplex](https://forum.shopware.com/u/sinplex)\
**Post date:** [28. Oktober 2018 um 15:25 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/5 "2018-10-28T15:25:00Z")

</div>

Mein problem ist das ich gerne auch ein “has–error” an mein label setzen würde wenn die dazugehörige checkbox nicht angehakt ist. Muss ich dann im JS von shopware arbeiten? Oder kriegt man das mit php hin?

&nbsp;

```
 Shopware\_Controllers\_Frontend\_Checkout::finishAction::before

```

wird bei mir nicht aufgerufen weil meine zusätzliche box ein pflichtfeld sein soll und somit die form blockiert.

---

<div class="post-metadata">

**Author:** ![sinplex](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@sinplex](https://forum.shopware.com/u/sinplex)\
**Post date:** [28. Oktober 2018 um 18:03 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/6 "2018-10-28T18:03:01Z")

</div>

Ok hab mal das JS durchgeguckt und habe ein jQuery plugin names “swInvalidTosJump” gefunden, dieses plugin setzt wohl die has–error klasse. Also werde ich wohl was in der richtung machen müssen. Hast du zufällig erfahrung mit den jQuery plugins?

---

<div class="post-metadata">

**Author:** ![sinplex](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@sinplex](https://forum.shopware.com/u/sinplex)\
**Post date:** [28. Oktober 2018 um 22:07 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/7 "2018-10-28T22:07:35Z")

</div>

hab es geschafft mit einem jQuery plugin danke für die Hilfe @mastox hast mich auf die richtige fährte gelockt!

---

<div class="post-metadata">

**Author:** ![kanuma](https://avatars.discourse-cdn.com/v4/letter/k/ce7236/32.png) [@kanuma](https://forum.shopware.com/u/kanuma)\
**Post date:** [28. Oktober 2018 um 22:20 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/8 "2018-10-28T22:20:20Z")

</div>

Moin @sinplex‍

habe auch etwas ähnliches gebaut, leider ohne die rote Markierung wenn es nicht gesetzt wird… kannst du dein Werk auf GitHub Posten? Hätte Interesse!

Mit freundlichen Grüßen&nbsp;

marc

---

<div class="post-metadata">

**Author:** ![sinplex](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@sinplex](https://forum.shopware.com/u/sinplex)\
**Post date:** [29. Oktober 2018 um 12:31 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/9 "2018-10-29T12:31:20Z")

</div>

ich versuchs nachher zu machen @kanuma‍

---

<div class="post-metadata">

**Author:** ![sinplex](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@sinplex](https://forum.shopware.com/u/sinplex)\
**Post date:** [30. Oktober 2018 um 14:11 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/10 "2018-10-30T14:11:19Z")

</div>

@kanuma‍

> **[sinplex/shopware-jump-invalid-checkbox](https://github.com/sinplex/shopware-jump-invalid-checkbox)**
>
> jQuery plugin for shopware that jumps to a checkboxlabel and sets has--error class if the checkbox is not checked on submit

---

<div class="post-metadata">

**Author:** ![Fichtelshirts](https://avatars.discourse-cdn.com/v4/letter/f/f04885/32.png) [@Fichtelshirts](https://forum.shopware.com/u/Fichtelshirts)\
**Post date:** [14. Mai 2019 um 19:20 UTC](https://forum.shopware.com/t/checkout-extra-checkbox-validierung/56035/11 "2019-05-14T19:20:26Z")

</div>

Hallo zusammen,

vielen Dank für den Link zum jQuery Plugin. Das hat mir schon recht gut weitergeholfen.

Ist sowas auch möglich auf die komplette AGB-Box anzuwenden? Also das die komplette AGB Box einen Rahmen bekommt (rot) und ggf. eine andere Hintergrundfarbe?

Vielen Dank für die Unterstützung und Hinweise.

&nbsp;

MFG

Johannes

&nbsp;
