Autor Thema: Artikel (GS) automatisch aus WK löschen wenn...  (Gelesen 7259 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Artikel (GS) automatisch aus WK löschen wenn...
« am: Dezember 21, 2007, 08:10:11 »
Hallo,

ich finde mal wieder nicht den richtigen ssp Befehl  ???

Aufgabe:
Ein Gutschein soll bei Kauf von einem Artikel aus einer bestimmten Warengruppe automatisch mit in den WK gelegt werden.
Das ist ja kein Problem
ABER wenn der Kunde den Artikel wieder aus dem WK löscht, soll auch der Gutschein automatisch wieder gelöscht werden.

<!--spmacro:module(check)
sub wkkategorie {
my $out;
my $index = $_[0];
my $anzahl = $_[1];
for (my $i = 0;$i <= $anzahl;++$i) {
my $inwk = ssp::get_var_cart('KATEG',$i);
if ($inwk !~ /die_Kategorie_für_die_der_GS_gelten_soll/) {
Gutschein "_GS_irgendwas" löschen
}
}
}
-->

Gutschein "_GS_irgendwas" löschen  (oder auch "ein Crossartikel") -> ich komme nicht dahinter, wie ich diese Anweisung schreiben muß, da ich ja nicht weiß, an welcher Position dieser (Gutschein-)Artikel steht


Linkback: https://www.shoppilot.net/pf/index.php?topic=1005.0
« Letzte Änderung: Dezember 21, 2007, 09:20:45 von dobra »
mfG
dobra

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 545
  • Lob: 10
Re: Artikel (GS) automatisch aus WK löschen wenn...
« Antwort #1 am: Dezember 21, 2007, 12:46:34 »

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
}



Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Artikel (GS) automatisch aus WK löschen wenn...
« Antwort #2 am: Dezember 21, 2007, 13:10:57 »
Hallo hop,

Danke für den Ansatz - ich denke, damit kriege ich die Bedingungen hin  :D

Aber was ich (noch) nicht herausgefunden habe, ist das # gsnr löschen

Habe es mit
my $out;
...
if (Bedingung) {
$out = qq|
               <form method="post" action=__xanzaendern__>
                  <input type ="hidden" name="_GS_irgendwas" value="">
               </form>
|;
} else { $out = qq|
               <form method="post" action=__xanzaendern__>
                  <input name="__xid__" style="width:25px;" size="1" maxlength="3" value="__anzahl__">
                  <input type="submit" class="anzae" value="" title="Anzahl ändern">
               </form>
  |;
   }
main::mprint $out;    
}
}
versucht - funktioniert aber nicht

Mit action="__xxpath__?placecart0,__xxsession__" kann man einen Artikel in den WK legen
aber wie geht das umgekehrt? - also Artikel entfernen?
irgengwie steh ich da momentan total auf der Leitung....
« Letzte Änderung: Dezember 21, 2007, 13:12:34 von dobra »

Offline admin

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 545
  • Lob: 10
Re: Artikel (GS) automatisch aus WK löschen wenn...
« Antwort #3 am: Dezember 21, 2007, 14:34:00 »


Meine erste Ideen war, wir können das mit stdplacecart.ipl machen. Diese Datei wird immer eingebunden,
wenn ein Artikel in den WK gelegt wird oder der WK geändert wird.

Leider geht es doch nicht, weil es derzeit nur möglich ist die Anzahl für einen Artikel zu verändern.
Wir bräuchten aber eine Funktion, die die Anzahl für zwei Artikel auf Null setzt, damit sie aus dem
WK gelöscht werden.

Diese lebenswichtige Funktion gibt es aber noch nicht. Ich schreibe es mal auf die
Aufgabenliiste.

Gruss hop

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Artikel (GS) automatisch aus WK löschen wenn...
« Antwort #4 am: Dezember 21, 2007, 14:38:48 »
Danke

Eine (fertige) Funktion, mit der man z.B. auch Cross-Artikel im WK an den Hauptartikel "binden" könnte, wäre sehr fein

noch schöner wäre es, wenn man - bei Crossartikeln - die Menge auch für die "gekoppelten" Artikel ändern könnte
= Menge bei Hauptartikel ändern -> ändert automatisch auch die Menge des Crossartikels und umgekehrt.

Müßte dann aber als wahlweise einstellbare Optoin möglich sein - also individuell nach Gegebenheit einstellbar
.... das sind aber vermutlich zu viele Wünsche .... ;)

« Letzte Änderung: Dezember 21, 2007, 15:00:38 von dobra »


xx
Warenkorb automatisch löschen

Begonnen von sre

0 Antworten
6420 Aufrufe
Letzter Beitrag August 13, 2004, 11:51:25
von sre
xx
Artikel suchen -> löschen?

Begonnen von dobra

2 Antworten
5070 Aufrufe
Letzter Beitrag November 04, 2010, 10:40:58
von dobra
xx
Artikel mit __WKMIN__ aus WK löschen?

Begonnen von jg

3 Antworten
7522 Aufrufe
Letzter Beitrag Juli 28, 2002, 13:47:56
von jg
xx
Artikel löschen - sinnvol ?

Begonnen von MK

2 Antworten
14374 Aufrufe
Letzter Beitrag Juni 07, 2010, 09:41:13
von MK