Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 23, 2012, 07:36:24

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  SSP - Shop Server Pages
| | |-+  Artikel (GS) automatisch aus WK löschen wenn...
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Artikel (GS) automatisch aus WK löschen wenn...  (Gelesen 1735 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« am: Dezember 21, 2007, 08:10:11 »

Hallo,

ich finde mal wieder nicht den richtigen ssp Befehl  Huh

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.

Code:
<!--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
« Letzte Änderung: Dezember 21, 2007, 09:20:45 von dobra » Gespeichert

admin
Administrator
Sr. Member
*****

Lob: 9
Offline Offline

Beiträge: 443


« 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.


Code:
    # 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.

Code:

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.

Code:
if (($cat_count == 1) && $gsnr) {
# gsnr löschen
}


Gespeichert
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« Antwort #2 am: Dezember 21, 2007, 13:10:57 »

Hallo hop,

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

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

Habe es mit
Code:
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 » Gespeichert

admin
Administrator
Sr. Member
*****

Lob: 9
Offline Offline

Beiträge: 443


« 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
Gespeichert
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« 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 .... Wink

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

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS