Autor Thema: Globaler Gutschein - aber nicht für ....  (Gelesen 9373 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Andi

  • Hero Member
  • *****
  • Beiträge: 540
  • Lob: 2
    • Auto Tuning Shop
Globaler Gutschein - aber nicht für ....
« am: Oktober 17, 2007, 23:06:44 »
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

Linkback: https://www.shoppilot.net/pf/index.php?topic=963.0
Alufelgen - Reifen - Komplettr?der
www.auto-tuning-shop.com

Offline cru

  • Jr. Member
  • **
  • Beiträge: 69
  • Lob: 7
Re: Globaler Gutschein - aber nicht für ....
« Antwort #1 am: Oktober 19, 2007, 11:19:52 »
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

Offline Andi

  • Hero Member
  • *****
  • Beiträge: 540
  • Lob: 2
    • Auto Tuning Shop
Re: Globaler Gutschein - aber nicht für ....
« Antwort #2 am: Oktober 19, 2007, 14:26:17 »
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


Offline cru

  • Jr. Member
  • **
  • Beiträge: 69
  • Lob: 7
Re: Globaler Gutschein - aber nicht für ....
« Antwort #3 am: Oktober 19, 2007, 16:37:26 »
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

Offline Andi

  • Hero Member
  • *****
  • Beiträge: 540
  • Lob: 2
    • Auto Tuning Shop
Re: Globaler Gutschein - aber nicht für ....
« Antwort #4 am: Oktober 23, 2007, 21:29:18 »
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



Offline cru

  • Jr. Member
  • **
  • Beiträge: 69
  • Lob: 7
Re: Globaler Gutschein - aber nicht für ....
« Antwort #5 am: Oktober 24, 2007, 08:16:43 »
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
« Letzte Änderung: Oktober 24, 2007, 08:18:48 von cru »

Offline Andi

  • Hero Member
  • *****
  • Beiträge: 540
  • Lob: 2
    • Auto Tuning Shop
Re: Globaler Gutschein - aber nicht für ....
« Antwort #6 am: Oktober 25, 2007, 00:23:49 »
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 ..
« Letzte Änderung: Oktober 25, 2007, 00:26:53 von Andi »

Offline cru

  • Jr. Member
  • **
  • Beiträge: 69
  • Lob: 7
Re: Globaler Gutschein - aber nicht für ....
« Antwort #7 am: Oktober 26, 2007, 17:02:09 »
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



Offline Andi

  • Hero Member
  • *****
  • Beiträge: 540
  • Lob: 2
    • Auto Tuning Shop
Re: Globaler Gutschein - aber nicht für ....
« Antwort #8 am: November 01, 2007, 23:12:49 »
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

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Globaler Gutschein - aber nicht für ....
« Antwort #9 am: Dezember 13, 2007, 23:04:17 »
    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]
« Letzte Änderung: Dezember 14, 2007, 07:13:14 von dobra »
mfG
dobra

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Globaler Gutschein - aber nicht für ....
« Antwort #10 am: Dezember 15, 2007, 20:04:17 »
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
« Letzte Änderung: Dezember 15, 2007, 21:40:19 von dobra »

Offline Andi

  • Hero Member
  • *****
  • Beiträge: 540
  • Lob: 2
    • Auto Tuning Shop
Re: Globaler Gutschein - aber nicht für ....
« Antwort #11 am: Dezember 20, 2007, 00:36:09 »
@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")
« Letzte Änderung: Dezember 20, 2007, 11:38:03 von Andi »

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Globaler Gutschein - aber nicht für ....
« Antwort #12 am: Dezember 20, 2007, 10:44:55 »
@ 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)


xx
Gutschein auf Guthabenkonto buchen

Begonnen von dobra

0 Antworten
3999 Aufrufe
Letzter Beitrag Dezember 13, 2009, 08:33:11
von dobra
xx
Testen, ob ein Gutschein im WK liegt

Begonnen von admin

0 Antworten
5787 Aufrufe
Letzter Beitrag März 09, 2010, 11:00:07
von admin
xx
Gutschein - Eingabe prüfen?

Begonnen von dobra

2 Antworten
6466 Aufrufe
Letzter Beitrag Mai 28, 2010, 10:42:08
von admin
xx
Noch eine Gutschein-Frage

Begonnen von parimo

4 Antworten
5485 Aufrufe
Letzter Beitrag April 14, 2008, 21:31:58
von parimo