Error Nachricht überschreiben Plugin

Hallo,

ich habe ein Plugin geschrieben, was in den Bestellprozess eingreift.
Das ganze passiert beim registrieren des Benutzert.

Wenn der Benutzer jetzt eine bereits vorhandene Email angibt, erscheint ein Fehler von Shopware direkt. (nicht die ajax meldung)

Mein Plugin soll jetzt auch eine Fehlermeldung ausgeben, wenn eine Bedingung nicht stimmt.
Das Problem ist nun, dass ich die error variable komplett überschreibe und somit nur noch mein Fehler ausgegeben wird.
Wir kann ich die Variable erweitern anstatt sie zu überschreiben?

        if($this->validateAge($birthday['day'].".".$birthday['month'].".".$birthday['year'], $config->get('minAge')) != 1) {
          $errors['personal']['birthdate'] = "Du musst mindestens 18 Jahre als sein, um bestellen zu können!";
          $view->assign('errors', $errors);

          return;
        }

 

Du kannst die aktuellen Fehler mit $view->getAssign() holen, erweitern und dann wieder überschreiben.

Viele Grüße

@TAiS46 schrieb:

Hallo,

ich habe ein Plugin geschrieben, was in den Bestellprozess eingreift.
Das ganze passiert beim registrieren des Benutzert.

Wenn der Benutzer jetzt eine bereits vorhandene Email angibt, erscheint ein Fehler von Shopware direkt. (nicht die ajax meldung)

Mein Plugin soll jetzt auch eine Fehlermeldung ausgeben, wenn eine Bedingung nicht stimmt.
Das Problem ist nun, dass ich die error variable komplett überschreibe und somit nur noch mein Fehler ausgegeben wird.
Wir kann ich die Variable erweitern anstatt sie zu überschreiben?

if($this->validateAge($birthday[‚day‘].„.“.$birthday[‚month‘].„.“.$birthday[‚year‘], $config->get(‚minAge‘)) != 1) {
$errors[‚personal‘][‚birthdate‘] = „Du musst mindestens 18 Jahre als sein, um bestellen zu können!“;
$view->assign(‚errors‘, $errors);

return;
}

Hallo,

auch wenn das Beispiel noch von Shopware 4 stammt und nicht mehr ganz Shopware 5 - konform ist, warum orientierst du dich nicht einfach an diesem Beispiel: http://community.shopware.com/Warenkorbprozess\_detail\_1031.html . Dort gibt es auf jeden Fall auch entsprechende (Fehler-)Meldungen.

Für die Altersprüfung gibt es auch einige (viele) Plugins im Shopware Store.

Beste Grüße

Sebastian

Hey Sebastian,

ich denke das in Shopware 5.2 einige Änderungen kommen werden, die auch die Verarbeitung der Daten beim registrieren beeinflussen.
Daher habe ich ein kleines Plugin einfach selber geschrieben. Mir fehlt halt nur noch die Fehlermeldung :slight_smile:
Auf der 5.2er Version funktioniert es jedenfalls.