Voucher message erweitern

Hallo,

ich möchte in einem bestimmten Fall eine noch nicht vorhandene Fehlermeldung für den Rabatt-Code ausgeben.

So habe ich es gemacht:

‘extend’ => array(
‘VoucherException’ => ‘codemessages/controllers/gcmessages’,
),

Mit “StandardException” habe ich es auch versucht.

class gcmessages extends gcmessages_parent {

 public function setMessage($sMessage)
 {
      die("Hier bin ich");
 ...

Wenn ich nun einen falschen (Nachtrag) Rabatt-Code eingebe, funktioniert alles normal.
Ich dachte, dass das “die(” die Ausgabe abbrechen müsste.
In “Installierte Shop-Module” wird meine Funktion korrekt angezeigt.

Wie komme ich da ran?

Gruß Thoni

Was soll das sein, vor allem für welche Shopversion? Erstmal muss ein Fehler festgestellt werden, um einen Fehler ausgeben zu können.

Schau Dir die Controller VoucherSerieController, VoucherSerieGenerate und dringend ein Tutorial zum Erstellen von Modulen an.

Es ist die Version 6.2.3

Der Fehler wird erzeugt, indem ein ungültiger Rabatt-Code eingegeben wird.

In der Voucher.php wird so der Fehler ausgegeben:

$oEx = oxNew(\OxidEsales\Eshop\Core\Exception\VoucherException::class);
$oEx->setMessage(‘ERROR_MESSAGE_VOUCHER_NOVOUCHER’);

Daher dachte ich, dass ich dort an der richtigen Stelle bin.

Ach, sorry. Die alte Bauweise hatte ich garnicht mehr auf dem Schirm. Aber gut, in 6.21 geht’s noch.

Ich schaue mir das heute Abend kurz an. Vielleicht hat ja zuvor schon jemand die Lösung. Ich denke an DisplayError

Hi,

wenn ich das “die(” in die setMessage-Funktion der StandardException einsetze, bricht die Ausgabe ab, wie sie soll.

Scheinbar wird die Funktion durch mich nicht überschrieben.

Mit …

‘extend’ => array(
‘oxvoucherexception’ => ‘codemessages/controllers/gcmessages’,
),
… klappt es.

SORRY

Genau. Wie oft habe ich darauf hingewiesen? Leider entfallen. OXID is out of my system.