Jump to content
xt:Commerce Community Forum

Price Variable weitergeben


mike1971

Recommended Posts

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:

preis1.gif

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

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

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

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

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

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

  • 3 weeks later...

@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

  • 1 month later...

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

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...