durchgestrichene Preise

Begonnen von rhae, September 26, 2006, 10:37:11

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

rhae

In einigen Shops unserer Mitbewerber sind die unverbindlichen Preisempfehlungen des Lieferanten durchgestrichen und der günstigere Shop-Preis darunter groß hervorgehoben. Bei uns (zur Zeit mit ShopPilot Profi, jetzt am umstellen auf die Enterprise Version) stehen auch die Lieferantenpreise und der Hinweis auf 5% Rabatt die gewährt werden. Die Kunden sehen aber nur den großen günstigen Preis bei der Konkurrenz, rechnen die 5% bei uns nicht runter und bestellen eben nicht bei uns  :(

Sind solche doppelten Preisangaben mit ShopPilot Enterprise auch möglich (und wenn ja, wie  ;))?


Viele Grüße Ralph Häusler

cru

#1
Hallo rhae,

je nachdem wie Sie die Ausgabe der Preise gestalten wollen, haben Sie verschiedene Möglichkeiten.

Prinzipiell lässt sich die Ausgabe der ermäßigten Preise mit einem kleinen Makro regeln...
Es stehen Ihnen dabei aber 2 Möglischkeiten zur Verfügung....
Sie können entweder vorher über das Preisveränderungstool von ShopPilot ( -->Bearbeiten-->Artikelpreis verändern)
alle Artikelpreise um 5 Prozent reduzieren und über das  Makro den ALTEN Preis ausgeben lassen.



Wenn Sie jedoch die 5% Rabatt erst beim Ablegen des Artikels in den Warenkorb berechnen wollen, können Sie die alten Preise bei Ihren Artikeln beibehalten
und über ein Makro den "NEUEN", reduzierten Preis anzeigen lassen.

Das Makro hätte dann je nachdem für welche Möglichkeit Sie sich entscheiden, folgenden Aufbau:

In Shoppilot bleibt der alte Preis erhalten und das Makro gibt den Vorzugspreis aus:


<!--spmacro:module(preis)

sub vorzugspreis {

my $p = ssp::get_var_article ('preis',0)*0.95;

   main::mprint qq| Sie erhalten den Artikel zum Vorzugspreis von : $p  |;

   return 0;
}
-->


Wenn Sie jedoch die Preise über das Preisänderungstool ändern möchten und durch das Makro  den alten Preis ausgeben lassen möchten, würde es folgendermaßen aussehen:


<!--spmacro:module(preis)

sub alterpreis {

my $p = ssp::get_var_article ('preis',0)*1.05;

   main::mprint qq| Alter Preis des Artikels : <strike> $p </strike> |;

   return 0;
}
-->


Die Ausgabe der Preise würde nachdem Sie das Makro in Ihre Vorlagen eingebunden haben dann über den jeweiligen Identifier erfolgen:

__preis::vorzugspreis__   bzw.
__preis::alterpreis__

Formatieren können Sie die Ausgabe dann über ganz normales HTML oder CSS ...


Ich hoffe das hilft Ihnen weiter  :)

mfg
cru


admin

Hallo,

hierzu noch ein Tipp (ab Enterprise 2.5):

Solche SSP-Makros, die auf fast allen Seiten Verwendung finden, kann man in die Datei stdall.ipl schreiben.
Dann werden Sie automatisch in alle Seiten übernommen.

Gruss hop


rhae

Oha, danke für diese ausgesprochen erstklassige Antwort  :)


Viele Grüße Ralph Häusler

rhae

Stopp zu früh gefreut! Das Makro mit dem Vorzugspreis habe ich als "vorzugspreis.ipl" im Verzeichnis "scripts" gespeichert und in der Datei stall.ipl darauf hingewiesen (<!--spmacro:include(scripts/vorzugspreis.ipl)-->). Beim ersten Artikel einer (Übersichts-) Seite funktioniert die neue Preisangabe auch sehr gut, doch bei den anderen Artikeln kommt immer der Vorzugspreis des ersten Artikels, siehe Bild:



Etwas vereinfacht geschrieben stehen auf der Artikel-Übersichtsseite folgende Angaben für die Anzeige der Artikel:

   <!--spmacro:loopitem15-->

      __produkt__<BR>
      __ergaenz1__<BR>
      <strike>__preis__</strike><BR>
      Unser Shop-Preis:<BR>
      __preis::vorzugspreis__<BR>
      __id__

   <!--spmacro:enditem-->

Wo könnte da der Fehler liegen? Oder funktioniert das Makro nur auf Detailseiten?


Viele Grüße Ralph Häusler

cru

Hallo rhae,

da hab ich wohl eine Kleinigkeit vergessen...  :-[

Sie müssen leider noch eine kleine Änderung am Code vornehmen:



<!--spmacro:module(preis)

sub vorzugspreis {

     my $index = $_[0];
     my $p = ssp::get_var_article ('preis',$index)*0.95;

     main::mprint qq| Sie erhalten den Artikel zum Vorzugspreis von : $p  |;

     return 0;
}
-->


bzw.

<!--spmacro:module(preis)

sub alterpreis {

    my $index =$_[0];
    my $p = ssp::get_var_article ('preis',$index)*1.05;

    main::mprint qq| Alter Preis des Artikels : <strike> $p </strike> |;

    return 0;
}
-->


mfg
cru

rhae

Vielen Dank, jetzt funktioniert's perfekt!   :) :) :) 


Viele Grüße Ralph Häusler

rhae

Noch eine kleine Anmerkung bzw. Änderung meinerseits. Damit die Kommastellen der Preise auf 2 begrenzt werden, bzw. mind. 2 Kommastellen erscheinen, habe ich die Zeile:

  $p = sprintf("%.2f" , $p);

vor die Ausgabe des Wertes gestellt.


Viele Grüße Ralph Häusler

rhae

Hmm, noch ein Problem bei den neuen Preisen tut sich auf. Bei Artikelvarianten klappt's leider nicht. Wäre es möglich einen Ersatz für die Variable __radiovar__ zu basteln (analog dem obigen Script mit Vorzugspreis), so dass beim folgenden Beispiel gleich die günstigen reduzierten Preise angezeigt werden? (das Beispiel ist noch aus unserem alten Shop mit dem 5%-Bestellbutton):




Viele Grüße Ralph Häusler

cru

Hallo rhae,

also man könnte das Problem mit den Varianten folgendermaßen lösen:

<!--spmacro:module(preis)

sub vorzugspreis2
{
            my $index = $_[0];
    my $vanzahl = $_[3];
    my $itemid = ssp::get_var_article("itemid", $index);
            my $print = "";

    for (my $i = 0; $i <= $vanzahl; $i++)
    {
    my $vitemid = ssp::get_var_varticle("itemid", $i);
    my $vpreis = ssp::get_var_varticle("preis", $i);
    my $vdescr = ssp::get_var_varticle("idescription", $i);
    my $shopprice = $vpreis *0.95;
                    $shopprice = main::fp($shopprice);

    $print .= qq |<input type="radio" name="variant" value="$vitemid">$vdescr
                                       <strike>$vpreis EUR </strike> &nbsp;<b>unser Preis</b>: $shopprice <br> |;
              }
      main::mprint qq| <form name="Arv$itemid" action""> $print </form>|;

      return 0;
}
-->


In der HTML-Vorlage fügt man es dann folgendermaßen ein:


            __preis::vorzugspreis2__<br>
            __id__
           






So würden die in Sp eingetragenen Preise durchgestrichen und direkt dahinter die neuen, reduzierten Preise angezeigt... :)

mfg
cru






rhae

Klappt prima, vielen Dank nochmal für die Unterstützung   :)


Viele Grüße Ralph Häusler

PS: Hier mal unser 2-preisiger Shop: www.weka-sauna.com

rhae

Hallo - bevor mir jetzt noch mehr Haare grau werden frag' ich lieber nochmal hier nach. Also die Sache mit den durchgestrichenen Varianten-Preisen funktioniert teils sehr gut und teils gar nicht. Es liegt sehr wahrscheinlich an der Art der Artikelnummer, kommen Zeichen wie "-" oder "_" vor kann der Artikel mit dem Varianten-Vorzugspreisscript nicht in den Warenkorb gelegt werden. So sieht der Quelltext bei der normalen Funktion __radiovar__ aus:

<form name="Arv50001000000x" action="">
<input type=radio name="variant" Value="500-0104-00-00">Sanduhr 13,99 EUR<br>
<input type=radio name="variant" Value="500-0103-00-00">Klimamesser, D100mm 29,99 EUR<br>
<input type=radio name="variant" Value="500-0102-00-00">Sch&#246;pfkelle 10,99 EUR<br>
<input type=radio name="variant" Value="500-0100-00-00">Sauna-Zubeh&#246;r-Set 59,95 EUR<br>
</form>

<a href="javascript:void(0)" OnClick='inwk("400!0",43712330612850,"500-0100-00-00-x",0,1,1);return  false;'><img border=0 src="http://127.0.0.1:84/eshop/pix/bestellen1.gif" alt="in den Warenkorb"></a>


und so mit der Funktion __preis::vorzugspreis_variant__

<form name="Arv500-0100-00-00-x" action"">
<input type="radio" name="variant" value="500-0104-00-00">Sanduhr <strike>13.99 EUR </strike> &nbsp;<b>unser Preis</b>: 13,15 EUR <br>
<input type="radio" name="variant" value="500-0103-00-00">Klimamesser, D100mm <strike>29.99 EUR </strike> &nbsp;<b>unser Preis</b>: 28,19 EUR <br>
<input type="radio" name="variant" value="500-0102-00-00">Sch&#246;pfkelle <strike>10.99 EUR </strike> &nbsp;<b>unser Preis</b>: 10,33 EUR <br>
<input type="radio" name="variant" value="500-0100-00-00">Sauna-Zubeh&#246;r-Set <strike>59.95 EUR </strike> &nbsp;<b>unser Preis</b>: 56,35 EUR <br> 
</form>

<a href="javascript:void(0)" OnClick='inwk("400!0",43712330612850,"500-0100-00-00-x",0,1,1);return  false;'><img border=0 src="http://127.0.0.1:84/eshop/pix/bestellen1.gif" alt="in den Warenkorb"></a>


Der einzige wichtige Unterschied ist wohl bei <Form name=""> zu finden, aber die Trennungszeichen "-" oder "_" sind schon wichtig, die hab' ich ja schon extra nehmen müssen weil "." (Punkt) nicht funktionierte.

please help!


Viele Grüße Ralph Häusler

cru

Hallo rhae,

die Artikel werden durch ein JavaScript in den Warenkorb gelegt. Dieses hat aber Probleme mit "-", daher eine kleine Änderung an der

__preis::vorzugspreis2__

Funktion.



<!--spmacro:module(preis)

sub vorzugspreis2
{
            my $index = $_[0];
    my $vanzahl = $_[3];
    my $itemid = ssp::get_var_article("itemid", $index);
            my $print = "";

    for (my $i = 0; $i <= $vanzahl; $i++)
    {
    my $vitemid = ssp::get_var_varticle("itemid", $i);
    my $vpreis = ssp::get_var_varticle("preis", $i);
    my $vdescr = ssp::get_var_varticle("idescription", $i);
    my $shopprice = $vpreis *0.95;
                    $shopprice = main::fp($shopprice);

    $print .= qq |<input type="radio" name="variant" value="$vitemid">$vdescr
                                       <strike>$vpreis EUR </strike> &nbsp;<b>unser Preis</b>: $shopprice <br> |;
              }
      $itemid =~ s/-//g;    # Die neue Zeile
      main::mprint qq| <form name="Arv$itemid" action""> $print </form>|;

      return 0;
}
-->


mfg
cru