mike1971 Posted February 18, 2009 Report Share Posted February 18, 2009 Hallo, nun habe ich Stunden verbracht und mich voll gefreut das meine geänderte Preisberechnung mit Javascript funktioniert und nun das :-(( Also: ich habe die product_options_dropdown Datei soweit angepasst das mir ein Preis aus vorher gewählten DropDown Feldern berechnet wird. Siehe Bild: Funktioniert auch soweit. Der preis wird sofort nach einer Änderung der felder berechnet. Nur wenn ich den Artikel in den Warenkorb lege wird der Preis im Warenkorb neu berechnet gemäß XTC Code. Kann ich das irgendwie anpassen. Also meinen errechneten Preis mit in die Price Variable von XT packen ?? Bin für jeden Tip dankbar beste Grüße mike Link to comment Share on other sites More sharing options...
hubbabubba Posted February 18, 2009 Report Share Posted February 18, 2009 Ne so ist das definitiv nicht vorgesehen. Deine js Preisberechnung läuft cilentseitig. Du würdest einem Client erlauben an der Preisgestaltung teilzunehmen. Da könnte sich ein manipulierter Client (js-Script) Rabatte prima selbst gestalten. Wenn die Rechnenergebnisse deiner js-Preisberechnung sich nicht decken mit den Preisen in der Datenbank (serverseitig, Attributpreise) ist dein Berechnungsscript noch nicht ganz richtig. mfg Link to comment Share on other sites More sharing options...
mike1971 Posted February 19, 2009 Author Report Share Posted February 19, 2009 kann ich den nicht mit JS die Price Variable ändern ? oder anschließend mit PHP die entsprechenden Werte übergeben? Gruß Mike Link to comment Share on other sites More sharing options...
hubbabubba Posted February 19, 2009 Report Share Posted February 19, 2009 Mit JS die Templatevariable {$PRICE}? Ne. JS läuft clientseitig, PHP serverseitig. Wenn die Seite beim Client (Browser) ankommt existiert {$PRICE} nicht mehr weil dieses unmittelbar vor dem Versand ersetzt wird gegen klartext. Für die Attributpreisberechnung kannst du ein JS Berechnungsscript schreiben welches mittels Templategenerator ( {$PRICE} u.a. ) mit Werten konfiguriert wird. Daraus rechnet das JS-Script Attributpreise und stellt sie dar. Die Berechnung erfolgt genauso wie der Shop diese berechnet. So werden identische Werte angezeigt wie später auch im Warenkorb. So funktionieren i.A. JS-basierte Attribut-Preisanzeigen. Wenn du das unbedingt so haben willst ist es durchaus machbar, daß das JS clientseitig Preise berechnet und die Ergebnisse an den Shop übergibt der diese an den Warenkorb weiterreicht. Aber da reißt du ne Sicherheitslücke auf. Ich könnte dir mit wenigen Handgriffen manipuliere Preise unterjubeln die dann problemlos den Checkout passieren und in die Abrechnung wandern. Wenn du deinen eigenen Shop erstellst und bereit bist das Risiko zu tragen. Wenn du ne Auftragsarbeit erstellst, wäre das was du vor hast ein grobes Fehlverhalten. Stell dir vor dein Kunde merkt das nicht gleich und liefert jahrelang manipulierte Bestellugen aus mit tausenden EUR Schadenssumme. Da kannste dich aber warm anziehen. Entweder hast du client-server-Prinzip noch nicht ganz verstanden oder planst da etwas was dich in teufels Küche bringen kann. mfg Link to comment Share on other sites More sharing options...
mike1971 Posted February 19, 2009 Author Report Share Posted February 19, 2009 soweit hab ich das schon verstanden. ich stell mir das jetzt so vor, dass das JS script nur zur schnellen Kalkulation sein sollte. Wenn ich den Artikel dann in den Warenkorb lege möchte ich den Preis in der entsprechenden PHP Seite (welche?) selbst neu berechnen lassen. Das heisst wenn ein Kalkulationsartikel mit der ID des Materialfeldes in den Warenkorb gelegt wird soll er anders rechnen als gewöhnlich. Nämlich Materialpreis * Länge1 * Länge2 Länge3 oder mach ich da einen Denkfehler? gruß Mike Link to comment Share on other sites More sharing options...
hubbabubba Posted February 19, 2009 Report Share Posted February 19, 2009 Das sind 2 paar Schuhe. 1. Du hast einen eigenen Algorithmus wie aus Grundpreis und Attributen (Länge 1, Länge 2, etc.) ein Gesamtpreis zu bilden ist. Dieser unterscheidet sich von von dem im System (Attributpreise, aufaddieren). 2. Die besprochene Attributpreisberechnung im Browser welche mit 1. korrespondieren muß. Zuerst musst du 1. lösen. Das geschieht im php auf dem Server. Du musst die Preisberechnung anpassen. Damit kann der Shop schon arbeiten. Punkt 2 ist nur ne Komfortfunktion aber nicht zwingend erforderlich für den Betrieb des neuen Preissystems. 1. Die Preisberechnung aus Grundpreis plus Attributen erfolgt in der Klasse shopping_cart.calulate() (Datei: includes/classes/shopping_cart.php). Darin werden Attributpreise aufaddiert. Hier kannst du ansetzen und deine gänzlich andere Berechnungsweise implementieren. 2. Das haste ja schon irgendwie gelöst. Attribute sind tierisch komliziert in xtc. Nicht verzweifeln wenn du da nicht auf Anhieb durchsteigst. Ich hab auch 2 Selbstmordversuche hinter mir. mfg Link to comment Share on other sites More sharing options...
mike1971 Posted February 19, 2009 Author Report Share Posted February 19, 2009 ok, danke für die Info. Dann werd ich mich mal heute Abend reinstürzen und den Kopf zum Glühen bringen. Ich dachte mir schon das das nicht so leicht wird. Ich hab ja schon mehrere Posts gelesen in denen eine Volumenberechnung gewünscht wird. Aber bis dato keine Lösung gefunden. Beste Grüße Mike Link to comment Share on other sites More sharing options...
MarcB Posted March 7, 2009 Report Share Posted March 7, 2009 @mike1971: warum machst Du Dir so eine Arbeit, es gibt doch mehrere Module um die Attributpreise via JS berechnen zu lassen. Das was ich in meinem Testshop eingefügt habe sieht dann auch so aus wie in Deiner Vorschau. Das einzig dumme es läuft nicht mit dem Preis als Grafik darstellen zusammen, aber sonst geht das bisher einwandfrei. Hatte das aus dem PC Service Backes Forum. Gruß Marc Link to comment Share on other sites More sharing options...
mike1971 Posted May 5, 2009 Author Report Share Posted May 5, 2009 Gibt es noch einen Tip wie ich den DB Zugriff beschleunigen kann. Ich hab jetzt bei der Flächenberechnung A x B x C jeweils 600 Werte die natürlich jedesmal wenn der Artikel aufgerufen wird geladen werden müssen. Dies kann schon mal je nach Bandbreite einige Sekunden dauern. Ich hätte ja am liebsten leere Formularfelder gehabt in denen die Werte dann rein geschrieben werden können, wusste aber nicht wie ich das umsetzen kann. Vorteil der Dropdown Auswahlfelder ist natürlich , das keine Fehleingabe gemacht werden kann. Also mein Hauptproblem ist derzeit die Geschwindigkeit. Kann man da was tunen? gruß Mike Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.