Autor Thema: Rappen und Öre Problem beim Währungsumschalten  (Gelesen 17944 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline mt

  • Jr. Member
  • **
  • Beiträge: 57
  • Lob: 0
Rappen und Öre Problem beim Währungsumschalten
« am: Juli 15, 2008, 09:48:14 »
Hallo,

ich habe da ein ganz spezielles Problem.

Da es im skandinavischen Raum als kleinste Münze nur die 50 Öre Münze
und in der Schweiz nur die 5 Rappen-Münze gibt, möchte ich gern das beim Umschalten
der Währung die Preise automatisch auf diese Besonderheiten angepasst werden.

Das ich die Preise Global manipulieren kann ist mir klar, da ich die Callback-Funktion
'modify_db_price' schon benutze. (für Händlerpreisfaktoren etc.).

Kann ich diese oder eine Ähnlich Funktion bei der Währungsumschaltung nutzen?

Gruß
mt

Linkback: https://www.shoppilot.net/pf/index.php?topic=1101.0

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
mfG
dobra

Offline mt

  • Jr. Member
  • **
  • Beiträge: 57
  • Lob: 0
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #2 am: Juli 15, 2008, 10:13:32 »
Hallo dobra,

Danke für die schnelle Antwort! :)

Leider meinte ich etwas anderes. Ich möchte gern das die Artikel-Preise im Shop sich auch
dementsprechend verändern (eben wie bei 'modify_db_price'). Die Berechnung an sich
ist mir schon bekannt gewesen.

Ich persönlich würde nur ein wenig irretiert sein, wenn der Preis im Warenkorb ein anderer ist als
die Gesamtsumme der Artikelpreise, daher würde ich mir halt eine 'bessere' Lösung wünschen.

Gruß
mt

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #3 am: Juli 15, 2008, 11:11:59 »
Hallo mt,

also wenn's nur um die Preisanzeige und nicht um die Berechnung geht, versuch mal das:

<!--spmacro:module(test)
sub rpreis {
my $index = $_[0];
my $anzahl = $_[1];
if ($index <= $anzahl) {
my $preis = ssp::get_var_article('preis',$index);
main::mprint( &main::fp(sprintf("%.1f",$preis) )) ;
}
return 0;
}
-->

__preis__ mit __test::rpreis__ ersetzen

habe es allerdings jetzt mal nur auf Detailseiten getestet

sorry - habe gerade gemerkt, daß das so nicht geht
damit wird nur auf .10, .20 usw auf/ab gerundet - Du brauchst ja .00 bzw. .05
« Letzte Änderung: Juli 15, 2008, 11:19:18 von dobra »

Offline mt

  • Jr. Member
  • **
  • Beiträge: 57
  • Lob: 0
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #4 am: Juli 15, 2008, 11:35:05 »
Und wieder danke für Deine Mühen :)

Bei mir muss aber beides in Kombination stimmen (Anzeige und Berechnung).
Ich manipuliere den Preis ja schon über 'modify_db_price' und kann daher
leider keinen eigenen Platzhalter für die Preisanzeige nehmen.

Außerdem sollte der Preis ja nicht dauerhaft manipuliert sein, sondern sich nach der
Währungsumschaltung richten. Die dauerhafte Manipulierung kann ich ja über
'modify_db_price' lösen. Das heißt z.B. ich komme als schwedischer User in einen
englischsprachigen Shop und kann mit dem EUR nix anfangen, schalte daher mit dem
Währungsumschalter von SPilot die Währung in SEK um. Nun sollen die Preise an
auf 50 Öre oder auch auf die ganze Krone gerundet dargestellt und berechnet werden.

Ich weiß, ist alles sehr speziell aber da wir viele Händler mit unterschiedlichen Preisen und Sprachen
haben ist das alles bei uns nicht so einfach.

Trotzdem nochmal DANKE!

Gruß
mt

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #5 am: Juli 15, 2008, 11:42:52 »
naja - da kann ich wohl dann leider nicht helfen  :(
....soweit reicht mein "Können" (noch) nicht - muß noch sehr viel lernen.........

P.S.:

falls doch mal jemand die auf .05 bzw .00 gerundete Preisanzeige braucht:

so geht's:

<!--spmacro:module(test)
sub rpreis {
my $index = $_[0];
my $anzahl = $_[1];
if ($index <= $anzahl) {
my $preis = ssp::get_var_article('preis',$index);
$preis = ($preis*20);
my $preis2 = int($preis) ;
main::mprint( &main::fp(($preis2)/20));
}
return 0;
}
-->
« Letzte Änderung: Juli 15, 2008, 11:47:01 von dobra »

Offline ahe

  • Global Moderator
  • Sr. Member
  • *****
  • Beiträge: 435
  • Lob: 20
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #6 am: Juli 15, 2008, 13:04:28 »
Hallo mt,

wenn Sie sowieso schon das Callback "modify_db_price" benutzen, können Sie dort ja auch direkt die Rundung vornehmen.
MfG ahe

Offline mt

  • Jr. Member
  • **
  • Beiträge: 57
  • Lob: 0
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #7 am: Juli 15, 2008, 13:11:20 »
Hallo ahe,

ja, ich weiß nur nicht wie ich feststelle welche Währung der User ausgewählt hat.
Habe in der Hilfe zum Thema Währung nur den Platzhalter zum Umschalten gefunden.
Gibt es da eine SSP-Variable die ich auswerten kann?

Gruß
mt

Offline ahe

  • Global Moderator
  • Sr. Member
  • *****
  • Beiträge: 435
  • Lob: 20
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #8 am: Juli 15, 2008, 13:32:26 »
Wenn Sie __xchgcurrencyN__ verwenden, wird die ID der gewählten Währung im Warenkorb gespeichert.
--> ssp::cart_read_var("curc");

Offline mt

  • Jr. Member
  • **
  • Beiträge: 57
  • Lob: 0
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #9 am: Juli 15, 2008, 13:40:49 »
Danke, werde es ausprobieren.

Ist denn 'ssp::cart_read_var("curc")' auch außerhalb vom Warenkorb (Artikleseiten oder Detailseiten) vorhanden?

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #10 am: Juli 15, 2008, 13:47:39 »
Hallo mt,

ja - ssp::cart_read_var ist auf allen Seiten abrufbar!
Das weiß ich, da ich diese Funktion schon seit langem verwende  ;)

Offline mt

  • Jr. Member
  • **
  • Beiträge: 57
  • Lob: 0
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #11 am: Juli 15, 2008, 14:03:50 »
Danke, hat funktioniert  :D ABER  :(

Bei der Auswahl der Währung wird der EUR-Preis zugrunde gelegt.
Das hat zur folge, das der EUR-Wert durch 'modify_db_price' verändert wird.
und sich erst danach in SEK (Kronen) umrechnet.

Das heist:

37,90 EUR -> 'modify_db_price' -> 38,00 EUR -> 359,76 SEK

Ich brauche aber die Kronen als glatten Wert.

Ideal wäre also:

37,90 EUR -> 358,81 SEK -> 'modify_db_price' -> 359,00 SEK

Bin da echt ratlos. ???

Gruß
mt

Offline ahe

  • Global Moderator
  • Sr. Member
  • *****
  • Beiträge: 435
  • Lob: 20
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #12 am: Juli 15, 2008, 14:51:20 »
Hier mal ein kleines Beispiel wie Sie die Rundung hinkriegen sollten.
$pf muss den Preisfaktor enthalten, der auch im Shop für die Fremdwährung eingetragen ist.

<!--spmacro:module(Callback)
sub modify_db_price {
    my ($price, $itemid) = @_;
   
    ## Hier erst die alten Berechnungen
   
    my $pf = 1.23456;
    my $price_new = $pf * $price;
    $price_new = runden($price_new*20)/20;
   
    return $price_new / $pf;
}

## kaufm. runden
sub runden {
    my $val = shift || 0;

    my $r =  ( $val < 0 ) ? -1 : 1;
    $r *= 0.5;
   
    return int($val + $r);
}
--> 

Offline mt

  • Jr. Member
  • **
  • Beiträge: 57
  • Lob: 0
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #13 am: Juli 15, 2008, 15:41:38 »
Hallo,

meinen Sie mit dem $pf den Umrechnungskurs?
Der wird doch dynamisch im Shop hinterlegt und bei jedem Update aktualisiert.
Wenn ich diesen fest in das Script schreibe, muss ich ja täglich diesen Wert korrigieren.
Kann ich nicht den Umrechnungskurs aus dem Shop auslesen?
Und was passiert eigentlich mit der Umrechenautomatik vom Shop selber,
die ist doch durch das Script nicht ausgeschalten, oder doch?
'modify_db_price' beeinflusst doch nur den Preis VOR der Umrechnung.

Irgendwie habe ich noch mehr Fragen als vorher. ???

Gruß
mt


Offline ahe

  • Global Moderator
  • Sr. Member
  • *****
  • Beiträge: 435
  • Lob: 20
Re: Rappen und Öre Problem beim Währungsumschalten
« Antwort #14 am: Juli 15, 2008, 15:58:10 »
Die Berechnung sollte schon funktionieren.
Das ganze ist ein wenig Dreisatz, der dazu führt, dass die später errechnete Fremdwährung gerundet ist.
Zum Zugriff auf die im Workcenter eingetragenen Umrechnungsfaktoren gibt es noch keine Schnittstellenfunktion.
Ich schicken Ihnen eine "unsaubere" (aber funktionierende ;)) Methode gleich per PM.


exclamation
Mögliches Problem beim Versand der Opt-In-Mail

Begonnen von ahe

0 Antworten
7397 Aufrufe
Letzter Beitrag Juni 04, 2007, 13:28:25
von ahe
xx
Rechnungssumme auf 5 bzw. 0 Rappen runden (Rappenrundung für die Schweiz)

Begonnen von ahe

0 Antworten
14558 Aufrufe
Letzter Beitrag Januar 11, 2008, 12:32:12
von ahe
xx
Fehlermeldung beim hochladen

Begonnen von loll2001

1 Antworten
3933 Aufrufe
Letzter Beitrag Juli 28, 2007, 15:58:06
von admin
xx
Varianten beim Import sortieren

Begonnen von parimo

0 Antworten
3461 Aufrufe
Letzter Beitrag Juli 20, 2012, 18:05:15
von parimo