2017-02-02 4 views
1

Ich habe ein kleines Prestashop Modul erstellt. Mit diesem Modul können Sie ein Produkt anpassen.Preis ändern indem das Produkt in den Warenkorb gelegt wird in Prestashop

Wenn mit diesem Code

<a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" 
href="{$link->getPageLink('cart')}?qty=1&amp;id_product={$product.id_product}&amp; 
token={$static_token}&amp;add" title="{l s='Add to cart' mod='folienplotter'}"> 
{l s='Add to cart' mod='folienplotter'}</a> 

der kalkulierte Preis das Produkt in den Warenkorb hinzugefügt werden, sollte auf das Produkt übergeben werden. Ich weiß nicht, wie ich das schaffen soll.

Vielen Dank für Ihre Hilfe!

+1

Was meinst du mit berechnetem Preis? Was meinst du mit "bestanden" zu Produkt? – PrestaAlba

+0

Mit dem Modul können Sie ein Produkt anpassen. Dann generiert das Modul einen Preis. Wenn Sie die Schaltfläche "In den Warenkorb" drücken, sollte das Produkt mit dem berechneten Preis zum Warenkorb hinzugefügt werden. – Max

+0

Sie können den Produktpreis nicht ändern. Wenn Sie das tun, werden Sie später Probleme haben, die Bestellung zu bestätigen. Ich empfehle Ihnen, keine Produktpreisberechnungsfunktionen zu berühren, da diese sehr komplex sind. Viel Glück. – PrestaAlba

Antwort

1

Statt „nebenbei“ der Preis für das Produkt in Ihrem Modul, wenn das Produkt hinzufügen, können Sie einen SpecificPrice mit dem aktuellen id_cart hinzu:

$specific_price = new SpecificPrice(); 
$specific_price->id_product = (int)$id_product; // choosen product id 
$specific_price->id_product_attribute = (int)$id_product_attribute; // optional or set to 0 
$specific_price->id_cart = (int)$current_id_cart; 
$specific_price->from_quantity = 1; 
$specific_price->price = $new_price_without_tax; 
$specific_price->reduction_type = 'amount'; 
$specific_price->reduction_tax = 1; 
$specific_price->reduction = 0; 
$specific_price->from = date("Y-m-d H:i:s"); 
$specific_price->to = "0000-00-00 00:00:00"; // or set date x days from now 
$specific_price->add(); 

Dann Prestashop sollten die Berechnungen machen.

+1

Wie die Idee davon. Das einzige Problem dabei ist, dass wenn ein Kunde ein anderes Produkt des gleichen Produkts in den Warenkorb mit einer anderen Anpassung eingibt, wird es den Preis des ersten Produkts, das dem Warenkorb hinzugefügt wird, überschreiben. – simon

+0

wahr. Es gibt keine id_costumization in specific_price. aber es gibt keine id_costumization im Warenkorb. Können Sie 2 Produkte mit demselben id_product und demselben id_product_attribute mit verschiedenen Anpassungen haben? – sadlyblue

+0

Es ist traurig, Prestashop hat keine Möglichkeit, Warenkorbpreise zu aktualisieren. Diese Lösung erstellt nur eine Preisregel für diesen Einkaufswagen. mehr als 1 Artikel mit dem gleichen sku im Warenkorb wird den Preis ändern. Ich hoffe auf eine bessere Lösung. Bis jetzt scheint dies der einzige Weg zu sein, dies zu tun, ohne Core-Code zu bearbeiten. –

Verwandte Themen