Hallo Dobra,
folgender Lösungsansatz (kein fertiger Code):
1. es muss eine Tabelle geben, aus der hervorgeht welcher Gutschein zu welcher Warengruppe gehört.
# Gutschein Prefix ist AXX
%GSWGHash = (
'kat1' => 'AXX4711',
'kat2' => 'AXX4712',
);
2. Wenn etwas aus dem WK entfernt wird, muss überprüft werden, ob ein Gutschein für diese WG im WK liegt und ob es der letzte (einzige) Artikel der WG ist.
my $gsnr;
my $cat_count = 0;
my $cat_to_delete;
my $itemid_to_delete; ## soll die Artikelnummer des zu löschenden Artikels enhalten
for (my $i = 0;$i <= $anzahl;++$i) {
my $cat = ssp::get_var_cart('KATEG',$i);
if (ssp::get_var_cart('id',$i) eq $itemid_to_delete) {
$cat_to_delete = $cat;
$gsnr = GSWGHash{$kat};
}
if ($cat eq $cat_to_delete) {
++$cat_count; ## Wieviele Artikel dieser Katergorie
}
}
3. Wenn ja, diesen Gutschein entfernen.
if (($cat_count == 1) && $gsnr) {
# gsnr löschen
}