2014-01-08 7 views
7

Ich habe Leinwand Bannerdruck Website. Ich möchte, dass der Kunde Breite und Höhe eingibt und meine eigene benutzerdefinierte Tabelle verwendet, die ich kalkuliere und den Preis zeige. Jetzt möchte ich den berechneten Preis in den Warenkorb und von dort in die Auftragsgenerierung verschieben. Ich habe Prestashop-Tabellen für den Warenkorb überprüft, speichert jedoch Produkt-IDs und fügt sie zu den Produkttabellen hinzu, um die Preise zu erhalten. Gibt es trotzdem meine Anforderungen zu erfüllen?Prestashop Benutzerdefiniert/Berechnet Produktpreis

+0

Haben Sie bekam Lösung? Ich habe ein ähnliches Problem –

Antwort

3

Diese Funktion ist nicht standardmäßig in Prestashop verfügbar, und ich kenne kein Modul, das es ohne Überlastung der Kernfunktionalität machen kann. Ich biete Ihnen nur die Theorie und einige Aktenreferenzen für Sie an. Versuch es bitte.

Hier können die folgenden allgemeinen Annahmen berücksichtigen:

a) Messeinheit Zoll ist.

b) pro Zoll Preis ist 5 usd

c) Sie werden auch eine Preisberechnungsformel benötigen, und für dieses Beispiel lässt es

finalPrice = width x height x 5 //width and height are formula variables 

Jetzt für Prestashop ist Sie die folgenden Schritte durchführen können :

1) Aktualisieren Sie die Warenkorb-Tabelle und fügen Sie drei Felder, Breite, Höhe und final_price hinzu. (Die Anzahl der Felder hängt von Ihren Formelvariablen ab.)

2) Wagenklasse überladen und Eigenschaften für Breite, Höhe und final_price hinzufügen. Außerdem müssen Sie die Methode überschreiben, mit der alle Produkte aus dem Einkaufswagen abgerufen werden, und prüfen, ob ein Einkaufswagenprodukt einen benutzerdefinierten Preis oder eine bestimmte Breite und Höhe aufweist. Auch alle Steuern, Versandkosten können dort angewendet werden.

3) Wenn Sie die Funktion ajax add to cart verwenden, müssen Sie das Blockcart-Modul etwas modifizieren. Möglicherweise müssen Sie ajax-cart.js ändern, um die Werte für Breite, Höhe und endgültigen Preis zu erhalten, die an den Einkaufswagen-Controller gesendet werden sollen. Auch blockcart-json.tpl benötigt möglicherweise einige Änderungen, da diese Datei zum Füllen des Cart-Block-Inhalts verwendet wird. Möglicherweise müssen Sie auch die Datei blockcart.tpl ändern, in der Sie Breite, Höhe usw. im Blockcart anzeigen können. Auf diese Weise können Sie die Variablen in Blockcart anzeigen.

4) Im nächsten Schritt wird das Produkt in den Warenkorb gelegt. Daten werden an CartController gesendet. Sie müssen sie daher überschreiben und erhalten die Breite, Höhe und den endgültigen Preis aus den gebuchten Daten. Sie müssen entsprechende Prüfungen vornehmen, wenn Breite, Höhe und Endpreis verfügbar sind oder das benutzerdefinierte Preisprodukt nicht erkannt werden kann.

5) Sie müssen OrderController außer Kraft setzen, um die Einkaufswagen-Seitenproduktliste mit Breite, Höhe und Endpreis aufzufüllen.

6) In der obigen Theorie haben wir das Produkt in den Warenkorb gelegt und die Warenkorb- und Warenkorbseite mit den Daten zu Breite, Höhe und Endpreis gefüllt. Der nächste Schritt ist das Ausfüllen der Bestellung. Dazu müssen Sie mit Order-Klasse, Order-Controller und Wagenklasse arbeiten. und Bestell_Produkttabelle. In der Produkttabelle fügen Sie gleiche Felder wie die Tabelle cart_products für Breite, Höhe und final_price hinzu. Ändern Sie dann die Auftragsklasse und fügen Sie diese Eigenschaften zur Auftragsklasse hinzu.

7) Sie müssen die PaymentModule-Klasse überschreiben und Änderungen an der validateOrder-Methode vornehmen. Diese Methode behandelt den letzten Schritt beim Bestellen von Schritten, speichert die Bestellung, sendet eine E-Mail an den Kunden und, falls aktiviert, den Site-Administrator. Also hier müssen Sie hinzufügen, Breite, Höhe und Endpreis Informationen in der Bestellung Produkte DB Einfüge-Code. Außerdem müssen Sie diese Variablen den E-Mail-Vorlagen zur Verfügung stellen, damit der Kunde auch die Breite, Höhe und den Endpreis des Produkts in der E-Mail erhalten kann.

8) Sie müssen auch den Abschnitt "Bestellhistorie" ändern, damit Kunden alle Details in der Bestellhistorie sehen können.

9) Sie müssen Änderungen im Admin Order-Controller vornehmen, um diese Daten im Bestellungsansichtsbereich für den Administrator anzuzeigen.

10) Und schließlich (nicht eigentlich endgültig: P), müssen Sie Änderungen in der PDF-Rechnung Generation vornehmen, so dass Breite, Höhe und Endpreis in PDF Rechnung auch angezeigt werden.

Hinweis: Über die Theorie ist aus meiner Erfahrung mit einer ähnlichen Funktion in Prestashop und kann für Sie arbeiten oder nicht arbeiten nach Ihren Anforderungen.

Versuchen Sie dieses, und ich hoffe, dass Sie es :) funktioniert ..

Good Luck ...