Thoni
March 20, 2023, 10:21am
1
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.
Thoni
March 20, 2023, 12:56pm
3
Es ist die Version 6.2.3
Der Fehler wird erzeugt, indem ein ungültiger Rabatt-Code eingegeben wird.
Thoni
March 20, 2023, 12:58pm
4
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
Thoni
March 21, 2023, 10:20am
6
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.
Thoni:
oxvoucherexception
Genau. Wie oft habe ich darauf hingewiesen? Leider entfallen. OXID is out of my system.