Globaler Gutschein - aber nicht für ....

Begonnen von Andi, Oktober 17, 2007, 23:06:44

« vorheriges - nächstes »

0 Mitglieder und 3 Gäste betrachten dieses Thema.

Andi

Hallo,

ich will im Shop gerne Gutscheine (Aktionen) anbieten, die NUR für
bestimmte Produkte (Warengruppen) gelten.

Wie kann man das machen ?? - geht das ??

Beispiele:
xx EUR Bonus bei Kauf eines Fahrwerkes der Marke X

oder
xx EUR Bonus für alle Artikel im Shop - außer Reifen
bzw.
xx % Rabatt auf alles - außer Produktgruppe X (zB. Autoreifen)

Gibt es da Lösungen ?

Besten Dank und Grüße v. ANDI
Alufelgen - Reifen - Komplettr?der
www.auto-tuning-shop.com

cru

Hallo Andi,

wenn Sie einen Bonus in Form eines Rabattes beim Kauf eines bestimmten Artikels oder einer bestimmten Marke vergeben wollen hätte ich eine Lösung für Sie.

Man könnte per...


<!--spmacro:module(Callback)
     sub invoice_addpos_final {
     ..
     ..

     }

-->


überprüfen ob ein Artikel der Marke XY im Warenkorb liegt.

Wenn dies der Fall wäre könnte man einen Bonus in Form von Gutschrift oder ähnlich einräumen und vom Endpreis abziehen.

Hilft das oder habe ich die Frage falsch verstanden?

mfg
cru

Andi

Hallo CRU,

ja richtig verstanden. Allerdings folgendes Problem (?):


Wenn ich einen globalen Rabatt geben will, muss ich Warengruppen
ausschließen -> wobei zB. bei Reifen dies nur über die Artikelnummer
gehen kann (die fängt zB. mit ipr_ an), während die andere WG man
auch über den Hersteller ausschließen könnte (hier ist es mit der ArtNr. schlechter).

Andere Situation ist dann wieder, wenn ich für bestimmte Marken
sowas machen will - hier wäre das über den Hersteller möglich.

Diese genannten Aktionsarten sollen beide angewandt werden.

Ne Idee ????????


Besten Dank und Grüße v. ANDI

Alufelgen - Reifen - Komplettr?der
www.auto-tuning-shop.com

cru

Hallo Andi,

also, korrigieren Sie mich wenn ich da etwas durcheinander werfe, aber man sollte das Problem folgendermaßen lösen können.

Man könnte mehrere Rabatt-Arten festlegen.

z.B.   Reifen 5% (Test ob ipr_* in Artikelnummer)
        Felgen 2% (Test ob xyz_* in Artikelnummer)
        Spiegel 1% (Test ob Marke XY)

Wenn eines dieser Kriterien zutrifft würde von Script ein Rabatt gewährt.

Die Frage wäre dann nur, was soll passieren wenn mehrere Bedingungen erfüllt sind?

Also ein Reifen und eine Felge im Warenkorb liegen...

mfg
cru

Andi

Hallo CRU,

also fast  ;)

Meine Ideen sind konkret:

Fall A (Beispiel):
5 % (oder auch zB. 10EUR) Rabatt auf alle Shopartikel > außer Reifen (die mit ipr_)
(hier könnte man mit der Artikelnummer arbeiten)

Fall B (Beispiel):
5% Rabatt auf alle Artikel von Hersteller XY
(hier wäre es dann wohl eher der Hersteller ..Artikelnummern ähneln sich zu sehr)

Fall C (Beispiel):
5% Rabatt (oder auch feste Summe) auf bestimmten Artikel
(hier müsste man mit Artikelnummern bzw.  Teilen der Artikelnummer arbeiten)

Soll nicht alles gleichzeitig - sondern abwechselnd "feilgeboten" werden und auch nicht ständig.
(alle Artikel mit ipr_ sollen aber grundsätzlich NICHT Rabattfähig sein). 

Ist anstrengend ... oder ???

Grüße v. Andi ..und Danke


Alufelgen - Reifen - Komplettr?der
www.auto-tuning-shop.com

cru

#5
Hallo Andi,

also, wenn meine anfängliche Idee der richtige Weg ist, könnte man das letze Problem beheben indem man z.B. 3 zusätzliche Variablen setzt.

Die Variablen würde man dann verwenden um zu testen ob die Funktion, welche den entsprechenden Gutschein in den WK legt, ausgeführt werden soll.

GS_Art1 = 1;
GS_Art2 = 0;
GS_Art3 = 0;


Hier z.B.:
Wenn Artikelnummer mit ipr_* anfängt UND GS_Art = 1 ist ...
Die Variablen müssten dann immer angepasst werden, jenachdem was man rabatieren möchte...


Würde dieser Ansatz helfen oder habe ich einen wichtigen Punkt nicht beachtet?

mfg
cru

Andi

#6
Hallo CRU,
vielen Dank für die Antwort.

so richtig verstehe ich es (mal wieder) nicht.
Aber - wenn Sie was passendes haben, können wir es ja mal einbauen und probieren.
Da werden wir ja sehen, inwieweit OK oder ob eventuell doch noch was geändert werden muss.

Hauptsache es ist nicht ZU kompliziert ....

Die häufigsten Arten werden sicher sein:
- Rabatt auf Artikel eines Herstellers (in % oder festbetrag) - war Fall B
- globaler Rabatt auf alles - außer Artikel mit ipr_ (also reifen) - das war Fall A

Grüße v. Andi

-------------------
was mir noch (zusätzlich) einfällt:
geht das auch, das man anstatt des Rabattes eine Zugabe mit beilegt (im WK)
zB. einen Gutschein - oder was Zubehörmäßiges ..
Alufelgen - Reifen - Komplettr?der
www.auto-tuning-shop.com

cru

Hallo Andi,

ein fertiges Script gibt es leider nicht und mein erster Ansatz ist auch SEHR kompliziert.
Es gäbe jedoch noch eine nicht allzu komlizierte Lösung.

Sie müssten ein benutzerdefiniertes Feld anlegen, was z.B. den Namen "RABATTART" hat.

Über dieses Feld könnte man nun die verschiedenen Rabattarten steuern.

Ein A im Feld "RABATTART" stände z.B. für 5% Rabatt, ein B für 3%, ein C für 5€ usw.

In einer .ipl Datei könnten wir dann, ähnlich wie in den vorherigen Postings beschrieben, überprüfen ob das Feld belegt is.
Ist dieses Feld belegt, wird überprüft welcher Buchstabe sich dort befindet.

Zuletzt wird dann der festgelegte Rabatt vom Artikel abgezogen und der Artikel wird im Warenkorb dargestellt.

Einen Gutschein in den Warenkorb zu legen ist hier leider nicht möglich, da Gutscheine nicht "on the fly" generiert werden können.

Das Script könnte dann z.B. folgendermaßen aussehen (stdcart.ipl)


<!--spmacro:module(Callback)
$glob_rabatt = 0;
sub invoice_addpos {
     my $ref_gesamt = $_[0];
     my $items = ssp::get_cart_items();
     for (my $index = 0; $index <= $items; $index++){
        my $rabatt = ssp::get_var_cart('RABATTARTIKE', $index);
        if ($rabatt eq "A"){
            # 5%
            my $preis = ssp::get_var_cart('preis', $index);
            $abzug = $preis / 100 * 5;
            $glob_rabatt += $abzug;
            $$ref_gesamt  -= $abzug;
        }
        if ($rabatt eq "B"){
            # 3%
            my $preis = ssp::get_var_cart('preis', $index);
            $abzug = $preis / 100 * 3;
            $glob_rabatt += $abzug;
            $$ref_gesamt  -= $abzug;
        }
        if ($rabatt eq "C"){
            # 5€
            my $preis = ssp::get_var_cart('preis', $index);
            $abzug = 5;
            $glob_rabatt += $abzug;
            $$ref_gesamt  -= $abzug;
        }
    } 
    return 0;
}

sub print_rab {
    main::mprint $glob_rabatt;
}
-->


Über __Callback::print_rab__ können Sie den aktuellen Rabatt ausweisen.

Auf diese Weise können Sie natürlich beliebig viele Rabattarten definieren.  8)
Sie können sich jedoch auch einmal die Rabattberechnung im Konfiguratorshop ansehen, welche auf eine ähnliche Art und Weise arbeitet.


mfg
cru



Andi

Hallo CRU,
vielen Dank für das Posting.

Habe nochmal drüber nachgedacht....
Wenn ich es richtig verstehe, soll jeder Artikel eine bestimmte Kennung erhalten ?

Kann mich da leider nicht so richtig mit anfreunden.
Irgendwie ist das alles viel zu kompliziert ... nur mit "Insiderwissen" kann man das dann anwenden.
Code irgendwo einfügen wäre ja noch OK - aber die Administration des ganzen
müsste man eigentlich im WC machen (und nicht in den Templates).
Ich denke immer daran, das auch mal ein Mitarbeiter was machen sollte und der / die hat
keinerlei Ahnung von Codes und Co (ich ja eigentlich auch nicht).

Eventuell sollte man das ja mal für spätere SP-Versionen berücksichtigen.

Danke und Grüße von Andi
Alufelgen - Reifen - Komplettr?der
www.auto-tuning-shop.com

dobra

#9
    Hallo Andi

    Ich bin am basteln, wie das (nach einmaliger Installation) ganz easy zu handhaben sein könnte.
    (die ersten Versuche sind recht vielversprechend)

    Die Idee kurz skizziert

    Das müßtest Du machen:
    • Auf allen Detailseiten (außer Reifen - die sollen ja generell nicht rabattiert werden) __get::Aktionsgutschein__ , auf der Warenkorbseite, Bestellformularen und Händlermail __show::Aktionsgutschein__ einfügen.
      Das wäre eine einmalige Arbeit und kann so bleiben auch wenn keine GS-Aktion läuft.
    • 2 Auftragsfelder anlegen (kein Kommentar dazu - das kriegst Du schon noch hin  ;))
    • bei neuen Aktionen in eine online-Eingabemaske *) die Bedingungen eingeben.

    mein Part:
    __get::Aktionsgutschein__  (erste Versuche, muß noch ausgebaut werden)

    <!--spmacro:module(get)
    sub Aktionsgutschein{
       my $Herst = ssp::get_var_article('DEIN SCHON VORHANDENS FELD IN DEM HERSTELLER STEHT',0);
       my $Aktion = "
Firma XY";  # Der Name des Herstellers für den die Aktion gelten soll
   (my $sec,my $min,my $hour,my $mday,my $mon,my $year) = localtime(time);
   $mon += 1; $year += 1900; # Y2K
   my $heute = sprintf("%04d%02d%02d",$year,$mon,$mday);
   my $ab = 20071201# Datum im Format jjjjmmtt
   my $bis = 20071224;
   
   if (($Herst eq $Aktion) && ($heute  >= $ab) && ($heute  <= $bis))  {
   my $out = qq|
      <input type="hidden" name="NEUES ARTIKELFELD1" value="__show::artnr__">
      <input type="hidden" name="price" value="__getprice::price__">
      Aktionsrabatt: <input type="hidden" name="NEUES ARTIKELFELD2____show::artnr__" value="0.8" size="3">&nbsp;&nbsp;  # Prozentsatz für den Rabatt
      |;
   main::mprint $out;
   }
}
-->

=> wenn alle Bedingungen erfüllt sind, werden die input type="hidden" eingeblendet und damit der Rabatt angezeigt und berechnet, wenn nicht, passiert garnix.

Der Rabatt wird dabei nicht nachträglich von der Einkaufssumme berechnet, sondern für jeden Artikel separat.
=> ist also egal, wieviele rabattierte und "normale" Artikel im WK sind.

Script zur Ausgabe im WK, Händlermail usw.

*)  Damit es nicht "zu kompliziert" für Dich wird, baue ich Dir eine (online)Eingabemaske wo Du alle blauen Angaben einfach in Eingabefelder einträgst, den Code per klick generierst und dann diesen fertigen Code in die stdall.ipl kopierst.

Was hälst Du davon?

Überleg Dir auch mal, welche Einstellungen (z.B. Radiobutton "Rabatt in %" und "fixer Betrag", Bedingung "nur dieser Hersteller", "alle Hersteller außer ...", "Artikelnummern die mit xyz beginnen" u.s.w.) Du brauchst (unbedingt haben willst - wenn geht auch noch haben willst)
[/list]
mfG
dobra

dobra

#10
Mal eine kleine Vorschau  :D

Der Code-Generator in der (voll einsatzbereiten) BetaPhase:
http://www.woll-insel.at/cgi-bin/shop2/iboshop.cgi?show1200005550

Am Aufwendigsten war es, bei der Option "Rabatt wahlweise mit Prozent oder fixem Betrag"
die jeweils richtig Berechnung und die entsprechende Textanzeige für den WK zu bauen.
aber (zumindest im Test-Shop) funktioniert das jetzt auch korrekt  ;D

Alle anderen zusätzlich noch gewünschten Optionen sind nur noch "Schreibarbeit"

Restliche Scripte mit Einbauanleitung kommen, sobald alles fertig ist
=> sobald geklärt ist, welche Bedingungen für die Gutschein-Aktionen noch gewünscht werden
mfG
dobra

Andi

#11
@dobra

Der Code-Generator funktioniert SENSATIONELL !!!!!!
ALLE meine Wünsche wurden (fast) erfüllt.

Keine Ahnung wie ich dir am besten danken soll...

Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke !!!!


Viele Grüße von ANDI

PS: natürlich auch DANKE an "ahe" (und auch den Rest .."hop", "cru" und auch "jg")
Alufelgen - Reifen - Komplettr?der
www.auto-tuning-shop.com

dobra

@ Andi

freut mich, daß alles zur Zufriedenheit funktioniert :)

Aber genaugenommen mußt Du Dich auch bei ahe bedanken !
(dieses Projekt habe ich zwar alleine realisiert, aber ohne das, was er mir die letzten 1,5 Jahre beigebracht hat, hätte ich es nicht machen können)
mfG
dobra