Author Topic: Automatische Preisänderung  (Read 8817 times)

Offline neuling

  • Posts: 85
  • Gender: Male
Automatische Preisänderung
« on: September 15, 2012, 03:15:16 PM »
Hallo,

ich hab mich immer geärgert, dass bei einer Änderung der Optionen der Preis nicht angepasst wird. Also hab ich mich (nach 10 Jahren wieder mal) mit JavaScript beschäftigt  :|

Herausgekommen ist Folgendes:

Bei Detailansicht Fusszeile:

Bereich um den Preis verändert
Code:
Only registered users can see contents. Please click here to Register or Login.

frontend.js -> Neue Funktion AktuellerPreis()
Code:
Only registered users can see contents. Please click here to Register or Login.
view_item.php

Zeile 201 -> onchange='AktuellerPreis(this)' in das select-tag eingefügt:
Code:
Only registered users can see contents. Please click here to Register or Login.
Bitte das auch bei euch zu testen, bei mir haut das suppi hin! Den Preis hab ich über die frontend.css auf 2em eingestellt, damit die Änderung auch gleich auffällt  :-D

Freue mich schon auf eure Kommentare, auch wenn's negative - sprich Fehlermeldungen sind.

Klaus
« Last Edit: September 16, 2012, 10:02:11 PM by neuling »

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #1 on: September 16, 2012, 07:44:36 PM »
moin,
hab das mal getestet, im Moment aber noch nicht den Durchblick
Angelegt habe ich einen Testartikel, Preis = 10 Euro, dazu 4 Optionen mit 0, 0.20, 0.40 und 0.80 Eur Aufschlag, die Optionen tragen den Namen rot, blau, grün und keine (für 0 Eur)

Im Code für die frontend.js fehlt eine schließende Klammer am Ende deines Codes. Neben der fehlenden Funktionalität wirkt sich das auch auf die "Artikel aus dem Warenkorb entfernen"-Funktion aus.
habe bei mir noch die Umlaute im JS-Code ersetzt

Mach bitte auch mal einen detaillierteren Hinweis im beschreibenden Text, wo der Code für die Detailansicht Fusszeile geändert werden muß (Bakery-Verwaltung -> Seitenansicht)

zu meinem Verständnisproblem
nach o.g. Codereparatur ändert sich in der Item Detailansicht nach Auswahl einer Option die Ausgabe so, das ich neben dem Wort PREIS die gewählte Option angezeigt bekomme (siehe Bild im Anhang), sich am Preis aber nichts ändert.
ggf hast du dort eine andere Art der Optionen-Definition gewählt (falls ja, bitte mal grob angeben)

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #2 on: September 16, 2012, 10:19:42 PM »
servus,

als erstes gleich mal, die abschließende Klammer im JS-Code habe ich im Post hinzugefügt, hab ich beim Kopieren wahrscheinlich irgendwo "verloren".

Der von mir gepostete Code für "Detailansicht Fusszeile" kommt bei "Seiten Einstellungen" -> "Detailansicht (Fußzeile):" STATT dem gesamten "<tr></tr>" Bereich in dem der Preis definiert wurde.
Zum Mitzählen: erst TITLE, TXT_SKU/SKU, und dann bereits die GESAMTE TABELLENZEILE ERSETZEN.
Dort hab ich einmal einen versteckten "Originalpreis" (<span id="normalPreis" style="visibility:hidden;">[PRICE]</span>), an dem sich die Rechnung immer wieder orientiert,
 dann noch - wie bereits von dir bemerkt - damit keiner sagen kann "für was ist das jetzt der Preis" (ja, ich kenne solche User!), habe ich noch ein "Preis ab" definiert, bei dem sich "ab" an die gewählten Optionen anpasst (<span id="ab">ab:</span>),
zu guter letzt hab ich dann noch dem Preis eine eindeutige id gegeben, damit er sich auch ändert (<span id="preis">[PRICE]</span>).

Ich hab halt alles, auch eigene Kommentare, sehr stark in Deutsch gehalten - sonst wirds mir schnell mal zu schwierig  :|

Tut mir sehr leid, dass ich so schlampig kopiert hab, das mit der verlorenen Klammer kann einen schon zur Verzweiflung bringen (kenn ich leider auch - von mir selbst - zur genüge  :wink: )

Für weitere Fragen steh ich gerne zur Verfügung.

Klaus

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #3 on: September 16, 2012, 10:28:10 PM »
mußt dich doch nicht entschuldigen ;-)

Quote
zu guter letzt hab ich dann noch dem Preis eine eindeutige id gegeben, damit er sich auch ändert (<span id="preis">[PRICE]</span>)

das ist das, was bei mir (noch) nicht funktioniert - hab aber nun auch noch nicht recherchiert, warum sich nur ein Teil derAnzeige ändert

NACHTRAG:  Problem erkannt - es sind die Stellen hinter dem Komma
« Last Edit: September 16, 2012, 10:57:03 PM by jacobi22 »

Offline marmot

  • Posts: 1103
Re: Automatische Preisänderung
« Reply #4 on: September 16, 2012, 11:15:28 PM »
Hi,

ich hab mich immer geärgert, dass bei einer Änderung der Optionen der Preis nicht angepasst wird.
interessante Idee. Ich habe mich auch mal daran versucht und sofern auf der Seite jQuery läuft sollte folgender Code in der frontend.js auch den Preis anpassen:
Code:
Only registered users can see contents. Please click here to Register or Login. Weitere Änderungen sind in diesem Fall nicht erforderlich.

Gruß
« Last Edit: September 22, 2012, 10:53:15 AM by marmot »

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #5 on: September 16, 2012, 11:20:24 PM »
so, (ich gestehe , ich hab fast null Ahnung von javascript)

@ Klaus - statt parseInt bitte parseFloat verwenden wegen der Nachkommastellen (Hinweis: geht damit nur, wenn in den allg. Bakery-Einstellungen der Punkt als Decimaltrenner festgelegt ist, mit Komma rundet er wieder)

dann fehlt mir noch eine Option, nämlich das = (wenn der Preis in der Option sich nicht ändert)
In PHP würde ich ein elseif nutzen, weiß aber nicht, wie das in js geht

if (Vorzeichen == '+') {...}
elseif [Vorzeichen == '-' {...}
else {}  // wenn weder plus noch minus
« Last Edit: September 16, 2012, 11:51:04 PM by jacobi22 »

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #6 on: September 17, 2012, 11:17:34 AM »
Hallo,

@marmot: schaut toll aus, aber nachdem ich so gut wie keine Ahnung von jQuery hab, und mein JavaScript-Lehrgang noch aus dem Jahr 2000 ist, hätt ich mich da nicht drübergetraut. Wie ist das, muss man da extra noch was mit auf dem Server liegen haben, oder ist das vom Browser abhängig?

@jacobi: danke für den Hinweis, dass parseFloat verwendet werden soll! Hab ich gleich mal angepasst (ich hab ja nur Lokal mit einer Dummydatei entwickelt). Das mit einer if-elseif-else Schleife geht (laut Selfhtml) leider nicht. War auch meine erste Idee  :lol: . Ich hab dann zwei if-else Schleifen verschachtelt: zuerst abfrage ob "+", wenn nicht wieder eine neue Schleife wo nach "-" gefragt wird, wenn auch wieder nicht, dann wird der ursprüngliche Originalpreis eingetragen. Da ich grad entdeckt habe, dass ich da wieder voll umständlich mit Variablen rumgedoktort habe (man soll doch nicht alles per copy&paste machen), hänge ich die Funktion für die frontend.js nochmal an:

Code:
Only registered users can see contents. Please click here to Register or Login.
Ich möchte darauf aufmerksam machen, dass das auch nur bei EUR Währungsangabe funktioniert! Sonst muss man oben bei der Variablendeklaratio n das Vorzeichen der Währung ändern! Das Leerzeichen nicht vergessen, sonst findet er keine Vorzeichen.

Danke an alle für die Hinweise,

Klaus

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #7 on: September 17, 2012, 02:07:15 PM »
ist noch nicht die Lösung, die mich glücklich macht  :wink:

mein Problem:  
ich habe einen Artikel, Preis 10.75 Euro mit 2 Zusatzoptionen, Aufschlag von 2 bzw 4 Euro auf den Kaufpreis.
Um diesen Artikel auch in der Normalform anbieten zu können, habe ich eine 3. Option, die an oberster Stelle steht und praktisch die Vorauswahl für das Optionsfeld darstellt, Wert ist plus/minus Null bzw = (dem Ausgangspreis), in der Ausgabe bzw. dem HTML-Code heißt das dann
Code:
Only registered users can see contents. Please click here to Register or Login.Für diesen Fall soll lt. view_item.php auch nichts berechnet werden.

Habe ich nun eine Option gewählt, die einen Preisaufschlag bedeutet, wird dieser neue Preis korrekt berechnet. Wenn ich mir das aber vor Hinzufügen des Artikel zum Warenkorb noch mal überlege und die Option ohne Preisaufschlag wähle, rechnet er nicht wieder zurück, übernimmt den Artikel in den Warenkorb sogar mit dem Preis 0.00 Euro

Ich habe jetzt ein bischen rumgespielt und meine, das das js für den Fall, das weder Plus, noch Minus vorliegt, abstürzt, weil es den Wert, den es über die Option bekommt, nicht mehr teilen kann (split), da in der gewählten Option weder die Kombination EUR, noch ein Preis (0.00) vorkommt.

Leider zeigt bei mir marmots Script keinerlei Wirkung, ich denke aber auf Grund des Codes, das hier das gleiche Problem besteht, weil in der Option "keine" nix zum splitten ist.

« Last Edit: September 17, 2012, 02:11:17 PM by jacobi22 »

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #8 on: September 17, 2012, 08:42:13 PM »
Servus,

mit indexOf()

If (optionTeile.indexOf("EUR ") != -1) {

   Funktion ausführen

} else {

   originalPreis ausgeben

}

morgen hab ich mehr Zeit, da werd ich die Funktion anpassen, damit solche Sachen rausgefiltert werden.

Klaus

Offline marmot

  • Posts: 1103
Re: Automatische Preisänderung
« Reply #9 on: September 17, 2012, 09:19:58 PM »
Hi,

@Wie ist das, muss man da extra noch was mit auf dem Server liegen haben, oder ist das vom Browser abhängig?
sollte eigentlich nicht vom Browser abhängig sein und auf dem Server ist auch nichts zu machen. JQuery muß aber in die Seite eingebunden sein. Dafür gibt es viele Möglichkeiten, eine davon ist der Index.php des Templates:
Code:
Only registered users can see contents. Please click here to Register or Login.Der Vorteil ist, dass einem viel Arbeit abgenommen wird und die Funktionen gegen viele Browsertypen und Versionen getestet sind. Nachteilig ist, dass man es halt laden muß und Zeit um Einarbeiten braucht. Insofern hat eine Lösung ohne jQuery durchaus auch Vorteile. Aber ich hatte deine Idee als kleine Herausforderung gesehen, die sich nun doch als nicht ganz so klein herausstellt ;). Von dem her - Respekt!

Leider zeigt bei mir marmots Script keinerlei Wirkung, ich denke aber auf Grund des Codes, das hier das gleiche Problem besteht, weil in der Option "keine" nix zum splitten ist.
ein Grund ist sicher, dass ich nur den Fall "=" berücksichtigt hatte, die Optionen "+" und "-" habe ich gar nicht bedacht  :roll:. Das macht die Sache etwas schwieriger.
Dennoch noch ein Versuch, wobei du wohl beim der Option "keine" noch einen Preis per "=" angeben müstet. Man könnte es schon auf deinen speziellen Fall hintrimmen, aber das ist dann wirlich sehr speziell.
Code:
Only registered users can see contents. Please click here to Register or Login. in die frontend.js einfügen - fertsch! Soweit zumindest die Theorie.

Gruß
« Last Edit: September 22, 2012, 10:54:08 AM by marmot »

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #10 on: September 17, 2012, 11:31:51 PM »
Quote
Dennoch noch ein Versuch, wobei du wohl beim der Option "keine" noch einen Preis per "=" angeben müstet

der Preis ist natürlich =0.00. so ist er definiert, so stehts in der Datenbank. Da aber für Bakery keine Rechnung stattfindet, wird dieser Zusatz Eur = 0.00  durch die view_item.php rausgestrichen bzw nur da weitergegeben (bzw so zusammen gestellt), wo er auch gebraucht wird.
Ich sehe da auch keinen "speziellen" Fall, sondern eher den Normalzustand. Wenn man die Artikeloptionen verwendet, die ein Preisauf- oder -abschlag bedeuten, hat man ohne dieses keine = +-0 Eur - Feld immer eine der Option vorgewählt, nämlich die, die in der Liste oben steht

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #11 on: September 18, 2012, 09:56:44 AM »
Hallo alle zusammen,

nun hab ich das Ganze noch mal durchgearbeitet. Ich hab auch dafür gesorgt, dass die Währungseinheit mit übernommen wird. Das konnte ich (eigentlich ganz leicht) erreichen, indem ich der Währungseinheit eine id zugewiesen habe. Der <tr></tr> Bereich um den Preis sieht nun bei mir so aus:
Code:
Only registered users can see contents. Please click here to Register or Login.
Wie gesagt, zuerst die Tabellenzeile für TITLE, dann SKU und die nächste komplette Tabellenzeile ersetzen.
Die dazugehörende JavaScript Funktion (in die frontend.js mit einbauen) ist folgende:
Code:
Only registered users can see contents. Please click here to Register or Login.
Um auch Quereinsteigern das komplette Konstrukt zu zeigen, noch als Anmerkung, ich habe in die view_item.php

Zeile 201 -> onchange='AktuellerPreis(this)' in das select-tag eingefügt:
Code:
Only registered users can see contents. Please click here to Register or Login.
so. Weitere Fehler oder Anregungen?

Klaus

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #12 on: September 18, 2012, 10:26:36 AM »
es wird, es wird ;-)
als Hinweis: wer das Komma als Trennzeichen eingestellt hat, bekommt Fehler in der Rechnung (Nachkommastellen werden nicht mitgerechnet - aber nur von einen Teil der Gleichung, dem normalPreis. parseFloat rechnet bei Komma in der Zahl nur mit ganzen Zahlen).

Ansonsten funktioniert das bei mir prima bis auf das Problem, das ich mindestens 2 verschiedene Optionen in der Optionsliste nacheinander wählen muß, liegt aber bei mir daran, das die erwähnte Option "keine = +/-0.00 Eur" nicht an erster Stelle liegt und

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #13 on: September 18, 2012, 11:57:59 AM »
Servus,

wenn du etwas in der Vorauswahl haben möchtest, dann füge im <option> gleich nach value="" selected ein. Das mit dem Komma habe ich mit einem replace() gelöst. Hier nochmals die vollständige Funktion:

Code:
Only registered users can see contents. Please click here to Register or Login.
 :-D geht doch, ...

Klaus

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #14 on: September 18, 2012, 01:44:45 PM »
bei mir unverändert - für mich persönlich nicht wichtig, da ich eh nur den Punkt als Trenner benutze
ich sagte ja eben schon, es ist der normalPreis, wo das Komma ankommt, nicht der Aufschlag der Option - die Optionspreise lassen sich nur mit Punkt speichern, kommen also eh nur mit Punkt an

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #15 on: September 19, 2012, 09:13:12 AM »
Servus,

sorry, hab nicht genau gelesen. Das mit dem richtigen Berechnen trotz Dezimalkomma statt Punkt konnte ich lösen. Doch ich bekomm in der Ausgabe das Komma nicht mehr rein  :cry: .
Bei der Suche, ob ein "." vorhanden ist, bekommt man ein Problem. Ein Punkt ist anscheinend kein String. Das nächste wird dann der Tausendertrennpunkt, dann wäre ja auf jeden Fall ein Punkt vorhanden. Ich hab da noch keine Lösung, die sich mir "aufdrängt".
Ich hänge diesmal die frontend.js Datei an mein Post an.

Klaus

Offline marmot

  • Posts: 1103
Re: Automatische Preisänderung
« Reply #16 on: September 19, 2012, 07:49:58 PM »
Hi,

Bei der Suche, ob ein "." vorhanden ist, bekommt man ein Problem. Ein Punkt ist anscheinend kein String.
Hmm bei mir hat es hier schon so funktioniert. Allerdings sucht replace() eigentlich nach einem regulären Ausdruck und die Suche nach dem String ist mehr so eine Zugabe. Im RegExp steht der Punkt ja für ein beliebiges Zeichen, müßte also escaped werden. Wie und wo genau wolltest du denn den Punkt ersetzen?
Quote
Das nächste wird dann der Tausendertrennpunkt, dann wäre ja auf jeden Fall ein Punkt vorhanden. Ich hab da noch keine Lösung, die sich mir "aufdrängt".
z.B. prüfen ob das siebte Zeichen von rechts eine Zahl ist. Ich habe das allerdings auch nicht drin, da mir keine Lösung ohne Änderung des HTML Codes einfällt und ich wollte eine Lösung, die nur in der frontend.js steht.

Gruß

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #17 on: September 19, 2012, 08:22:08 PM »
Quote
Hmm bei mir hat es hier schon so funktioniert.
(P.S. die jQuery-Variante)

ich geb zu, ich hab noch keine Ahnung, warum das bei mir nicht mal zuckt  :roll:
alles, was nötig ist, wird geladen und läuft auch auf anderen Seiten

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #18 on: September 19, 2012, 08:50:49 PM »
ich gebs zu, ich wollt auch mal etwas Produktives einbringen. Da ich immer hoch gesteckte Ziele hab, soll es dann auch für alle passen. Aber dafür langt es bei mir wohl noch nicht.

@marmot: ich wollte, wenn schon Komma eingestellt ist, wieder mit Komma ausgeben. Aber irgendwie finde ich nicht die richtige Funktion dafür  :|

Bis jetzt erkennt er automatisch die Währungseinheit, es ist egal, wie oft in den Optionen +, - oder = vorkommt, es wird immer richtig gerechnet, jetzt soll nur noch erkannt werden, ob mit Komma eingestellt ist und das dann auch wieder mit ausgeben. Im Moment steh ich aber wohl auf dem Schlauch, ...

Klaus

Offline marmot

  • Posts: 1103
Re: Automatische Preisänderung
« Reply #19 on: September 19, 2012, 09:38:50 PM »
Hi,
Quote
Hmm bei mir hat es hier schon so funktioniert.
(P.S. die jQuery-Variante)
der in Rede stehende Teil
Code:
Only registered users can see contents. Please click here to Register or Login. ist eigentlich reines Javascript
Quote
ich geb zu, ich hab noch keine Ahnung, warum das bei mir nicht mal zuckt  :roll:
alles, was nötig ist, wird geladen und läuft auch auf anderen Seiten
eigentlich bist du ja mit der Lösung von neuling zufrieden. Ist nach meiner Meinung auch die bessere Lösung, da durch das Einfügen der Id's die Sache etwas "stabiler" wird. Meine Idee war es die Änderung einfach zu halten und nur die frontend.js zu ergänzen. Allerdings hatte ich zuerst nicht gesehen, dass sich der ursprüngliche Vorschlag ja im Backend einbauen läßt und nicht, wie von mir irrtümlich angenommen, .php Dateien editiert werden müßten.
Ansonsten habe ich versucht dir hier zu erklären, warum es nach meiner Meinung bei dir nicht funktioniert, du hast mir dann hier "durch die Blume" erklärt, dass du nicht genau gelesen hast was ich geschrieben hatte, obwohl du hier eigentlich selbst das vorgeschlagen hast, was ich gesagt habe. Da habe ich dann aufgegeben aber dennoch habe ich hier im Edit noch mal was dazu geschrieben.
Noch mal kurz: es geht darum, dass die erste Option nicht +/- sein soll, sondern = Gesamtpreis. Ist nach meiner Meinung sinnvoll, denn dann hat der Kunde immer den Ausgangspreis vor Augen. Natürlich kann man durchaus anderer Meinung sein.

ich gebs zu, ich wollt auch mal etwas Produktives einbringen. Da ich immer hoch gesteckte Ziele hab, soll es dann auch für alle passen. Aber dafür langt es bei mir wohl noch nicht.
Ich finde deine Idee und auch die Umsetzung klasse! Sonst hätte ich mich nicht damit beschäftigt. Wie oben bereits geschrieben, finde ich deine Lösung stabiler und universeller, da man kein JS Framework braucht. Ich schätze du hast einiges an Zeit und Mühe investiert und das Ergebnis allen zur Verfügung gestellt und leistest nun sogar noch support. Das finde ich einfach gut, und erst recht, wenn etwas Sinnvolles und gut zu Gebrauchendes raus kommt wie in diesem Fall! Alle Fälle berücksichtigen und alle glücklich machen geht nicht. Falls du mal Zeit und Lust hast, hier etwas Lustiges zu der Thematik.

Quote
@marmot: ich wollte, wenn schon Komma eingestellt ist, wieder mit Komma ausgeben. Aber irgendwie finde ich nicht die richtige Funktion dafür
so habe ich es versucht:
Im Ausgangspreis den Dezimaltrenner lesen (ist ja immer das dritte Zeichen von rechts) und merken. Vor der Ausgabe des Gesamtpreises den Punkt durch den germerkten Trenner ersetzen bzw. Trenner00 anfügen, wobei meine Berechnung so ist, dass der Gesamtpreis zunächst immer mit Punkt oder ohne Kommastellen (bei .00) berechnet wird.

Gruß

jacobi22

  • Guest
Re: Automatische Preisänderung
« Reply #20 on: September 19, 2012, 11:45:06 PM »
Quote
Noch mal kurz: es geht darum, dass die erste Option nicht +/- sein soll, sondern = Gesamtpreis. Ist nach meiner Meinung sinnvoll, denn dann hat der Kunde immer den Ausgangspreis vor Augen. Natürlich kann man durchaus anderer Meinung sein.

das ist nicht nur sinnvoll, das muß sogar so sein. Für den Fall, das es nicht so ist, wird (ohne Änderungen im PHP-Code) dieser Auf- oder Abschlag in den Warenkorb übernommen, ohne, das der Kunde dies ausgewählt oder gesehen hat. Das es bei mir eine andere Reihenfolge war, lag daran, das ich nachträglich eine Option gelöscht habe und nun alles neu eingeben müßte, um die =-Option wieder an Position 1 zu bekommen

Quote
eigentlich bist du ja mit der Lösung von neuling zufrieden.
wenn sie funktioniert, sicher (ist mit deiner nicht anders) - benötigen tu ich keine der beiden, ich teste nur   :wink:

Ich gehe davon aus, das ihr das auch testet und wenn das bei euch funktioniert, muß es bei mir auch gehen
Dazu kommt, das deine (marmots) Variante für die Übersichtsseite ist und die von Klaus für die Detailansicht, zumindest in der bisherigen Form - beide sind ja auch erweiterbar.

Quote
Ich finde deine Idee und auch die Umsetzung klasse! Sonst hätte ich mich nicht damit beschäftigt. Wie oben bereits geschrieben, finde ich deine Lösung stabiler und universeller, da man kein JS Framework braucht. Ich schätze du hast einiges an Zeit und Mühe investiert und das Ergebnis allen zur Verfügung gestellt und leistest nun sogar noch support. Das finde ich einfach gut, und erst recht, wenn etwas Sinnvolles und gut zu Gebrauchendes raus kommt wie in diesem Fall! Alle Fälle berücksichtigen und alle glücklich machen geht nicht.

dem gibs nix hinzuzufügen!

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #21 on: September 20, 2012, 10:38:20 AM »
Hallo allerseits,



Dazu kommt, das deine (marmots) Variante für die Übersichtsseite ist und die von Klaus für die Detailansicht, zumindest in der bisherigen Form - beide sind ja auch erweiterbar.

ups, hatte ich übersehen, dass da auch eine Auswahl ist. Mein Kunde wollte da nur die Übersicht mit Artikeltitel.
Auf jeden Fall Danke für eure Lorbeeren, schaun wir mal, ob ich sie auch verdiene  :roll:

@marmot: ich weiß, dass du mich ganz dezent auf deinen Lösungsvorschlag aufmerksam gemacht hast, aber da waren mir zu viele RegEx drinn. Da versteh ich nur Bahnhof  :oops:
Ich konnte trotzdem noch etwas mit deinem Script anfangen, habs aber dann (weil ich es schlichtweg nicht verstanden hab) umgemodelt.

Jetzt hab ich aber wie's scheint mal so ziemlich alles, was hier besprochen wurde berücksichtigt - bis auf die Übersichtsseite - die mach ich warscheinlich auch noch dazu?:

Berechnen von "+", "-" oder "=", egal wie oft vorhanden
Ignorieren von leeren Einträgen
Automatische Währungsauswahl
Optionendeklaration wird bei Preis angegeben, ansonsten "ab: "
Dezimaltrennzeichen wird wieder wie vorgegeben ausgegeben
Tausendertrennzeich en wird berücksichtigt, und wie vorgegeben ausgegeben

jetzt gezippt und angehängt, wieder die komplette frontend.js

Klaus
« Last Edit: September 20, 2012, 07:16:17 PM by neuling »

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #22 on: September 22, 2012, 10:33:57 AM »
Hallo,

jetzt hab ich mal folgende Änderungen, um sowohl in der Übersicht, als auch in der Detailansicht den Preis an die Optionsauswahl anzupassen:

Seiten Einstellungen -> Layout Einstellungen -> Übersicht (Artikel-Schleife):
Code:
Only registered users can see contents. Please click here to Register or Login.
(zur Erklärung: ich hab ein <span> um "ab", "[CURRENCY]" und "[PRICE]" gelegt, zusätzlich ein verstecktes<span> wieder um ein "[PRICE]" und hab überall an die id noch ein "[ITEM_ID]" angehängt. )

Seiten Einstellungen -> Layout Einstellungen -> Detailansicht (Fußzeile):
Code:
Only registered users can see contents. Please click here to Register or Login.
(Wieder das Gleiche)

Datei /view_item.php, Zeile 201:  
Code:
Only registered users can see contents. Please click here to Register or Login.
(in das <select> ganz zum Schluss onchange='AktuellerPreis(this, ".ITEM_ID.")' eingefügt)

Datei /view_overview.php, Zeile 238:
Code:
Only registered users can see contents. Please click here to Register or Login.
(in das <select> ganz zum Schluss  onchange='AktuellerPreis(this, ".$item_id.")' eingefügt, seltsamerweise diesesmal klein geschrieben)

Datei /frontend.js:

Hänge ich wieder komplett an mein Post an.

Bitte testet mal, bei mir hat's ganz gut geklappt.

Klaus

PS: der erste Eintrag sollte am Besten der Ausgangspreis oder etwas in der Art wie "Bitte auswählen" sein.
« Last Edit: September 22, 2012, 10:41:52 AM by neuling »

Offline marmot

  • Posts: 1103
Re: Automatische Preisänderung
« Reply #23 on: September 22, 2012, 11:03:01 AM »
Hi,

Hänge ich wieder komplett an mein Post an.
Bitte testet mal, bei mir hat's ganz gut geklappt.
finde ich super, dass du da dran geblieben bist.
Hier dann auch noch die aktuelle Version für jQuery:
Code:
Only registered users can see contents. Please click here to Register or Login. wie immer nur in frontend.js einfügen. Aktuell: erster Eintag bei Optionen muß der Gesamtpreis sein, unterstützt Übersicht und Details, nur Trenner für 1000er (nicht die Million ;)), Trenner dürfen keine Leerzeichen sein.

Gruß

Edith: Abfrage um JS Fehler auf nicht Artikel Seiten zu verhindern, unterstützt mehrere selects auf einer Seite
« Last Edit: September 24, 2012, 09:11:43 AM by marmot »

Offline neuling

  • Posts: 85
  • Gender: Male
Re: Automatische Preisänderung
« Reply #24 on: September 22, 2012, 11:32:09 AM »
jo, schaut auch toll aus, aber irgendwann musst du mir noch so ein paar Sachen erklären - von wegen jQuery - wie geht das, ohne dass du im Dokument einen Eventhandler brauchst, ...?
Irgendwie blick ich da nicht so ganz durch  :?

Gruß,
Klaus

 

postern-length