Jump to content
HappyHartmann

Mengenrabatt Preisanzeige falsch

Recommended Posts

Hallo Prestashop User,

 

ich habe folgendes Problem:

 

Wenn ich einen Artikel erstelle mit mehreren Varianten und Mengenrabatte für alle Varianten erstelle, wird der Preis falsch angezeigt.

Im Warenkorb wiederum rechnet Prestashop richtig.

Bei der Artikelanzeige rechnet er immer nur mit dem Artikelpreis und berücksichtigt nicht den Variantenaufpreis.

 

Artikelpreis = 158,00€

Variante 190cm = keine Preisveränderung

Variante 200cm = Aufpreis 2.40€

 

Wäre super froh wenn jemand eine Lösung für dieses Problem hat.

 

Prestashop Version 1.6.1.5

Standard Template

 

Viele Grüße

Andreas

 

Happy-Hartmann GmbH

 

 

 

 

post-1225410-0-17138600-1463130374_thumb.jpg

post-1225410-0-29125000-1463130375_thumb.jpg

post-1225410-0-08288300-1463130377_thumb.jpg

post-1225410-0-83272000-1463130378_thumb.jpg

post-1225410-0-07825100-1463130380_thumb.jpg

Share this post


Link to post
Share on other sites

Wir haben das Problem erst einmal "schmutzig" gelöst.

Wenn du in der Datei themes/default-bootstrap/product.tpl nach der Zeile 426 folgende Zeile einfügst:

<td style="display:none;"></td><td style="display:none;"></td>


also wird aus:

                                                {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
                                                        {if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
                                                                {$realDiscountPrice=$productPriceWithoutReduction|floatval-$quantity_discount.real_value|floatval}
                                                        {else}
                                                                {$realDiscountPrice=$productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction)|floatval}
                                                        {/if}
                            <tr id="quantityDiscount_{$quantity_discount.id_product_attribute}" class="quantityDiscount_{$quantity_discount.id_product_attribute}" data-real-discount-value="{convertPrice price = $realDiscountPrice}" data-discount-type="{$quantity_discount.reduction_type}" data-discount="{$quantity_discount.real_value|floatval}" data-discount-quantity="{$quantity_discount.quantity|intval}">
                                                                <td>
                                                                        {$quantity_discount.quantity|intval}
                                                                </td>
                                                                <td>
                                                                        {if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
                                                                                {if $display_discount_price}
                                                                                        {if $quantity_discount.reduction_tax == 0 && !$quantity_discount.price}

das:

                                                {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
                                                        {if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
                                                                {$realDiscountPrice=$productPriceWithoutReduction|floatval-$quantity_discount.real_value|floatval}
                                                        {else}
                                                                {$realDiscountPrice=$productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction)|floatval}
                                                        {/if}
                            <tr id="quantityDiscount_{$quantity_discount.id_product_attribute}" class="quantityDiscount_{$quantity_discount.id_product_attribute}" data-real-discount-value="{convertPrice price = $realDiscountPrice}" data-discount-type="{$quantity_discount.reduction_type}" data-discount="{$quantity_discount.real_value|floatval}" data-discount-quantity="{$quantity_discount.quantity|intval}">
                                                                <td>
                                                                        {$quantity_discount.quantity|intval}
                                                                </td>
                                                                <td style="display:none;"></td><td style="display:none;"></td>
                                                                <td>
                                                                        {if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
                                                                                {if $display_discount_price}
                                                                                        {if $quantity_discount.reduction_tax == 0 && !$quantity_discount.price}


Ich hoffe das schafft Abhilfe.

 

Viele Grüße aus Magdeburg,

Share this post


Link to post
Share on other sites

Leider hat sich mein Problem nicht gelöst.

Ich habe wie oben angegeben die Zeile eingefügt.

Hat sich aber nix verändert. Was bewirkt diese Zeile?

 

Viele Grüße aus Wünnenberg-Haaren

Andreas

 

Happy-Hartmann GmbH

Share this post


Link to post
Share on other sites

Es gibt ein Javascript, was den Preis bei dem Mengenrabatten neu berechnet. Die zwei Zeilen bewirken, dass das javascript die berechnungen in zwei Spalten vornimmt, die versteckt werden.

 

Hast du nach dem einfügen der zeilen einmal den Cache in PrestaShop geleert?

Share this post


Link to post
Share on other sites

Ja hab ich gemacht.

Im Anhang einmal der Quellcode wo ich die Zeile reinkopieren sollte.

Den Cache lösche ich doch bei "erweiterte Einstellung, Leistung" oder?

post-1225410-0-69988600-1463471671_thumb.jpg

Share this post


Link to post
Share on other sites

Hatte Dir eine Nachricht geschickt, mit der Bitte, mir mal einen Link zu senden.

 

Oder ist das Problem schön gelöst?

Share this post


Link to post
Share on other sites

Hallo!

Bei uns besteht exakt das gleiche Problem. Wir haben den Lösungsweg wie oben beschrieben ausprobiert, leider führt es auch mit Reset des Caches zu keiner Lösung. Gibt es noch andere Lösungsansätze/Möglichkeiten?
 

Viele Grüße

FarmFritz

Share this post


Link to post
Share on other sites

Das ist für mich bisher das größte Problem, neben dem das man den Mengenrabatt nicht bearbeiten kann.

 

Lasst mich wissen, wenn die schmutzige Lösung funktioniert.

 

Danke!

Share this post


Link to post
Share on other sites

Hallo,

 

hat keiner eine Lösung für dieses Problem??

Es ist nicht grade förderlich wenn der Kunde erst im Warenkorb die richtige Summe angezeigt bekommt.

 

Prestashop Version 1.6.1.6

Template: default bootsrap 1.0

 

Viele Grüße

Andreas

 

Happy-Hartmann GmbH

Share this post


Link to post
Share on other sites

Hallo zusammen

 

Arbeiten mit Version 1.6.1.6 und haben das Problem auch.

 

- Bei Mengenrabatten rechnet Prestashop die Rabatte auf der Vorderen Maske manchmal nicht, manchmal schon.

- Beim ersten Klick auf das Pluszeichen um die Menge zu erhöhen, wechselt die Anzeige der Währung von zB. CHF 50.00 auf 50.00 CHF

- Es wird lediglich der Rabatt der ersten Abstufung angezeigt. Wenn die Menge soweit erhöht wird, dass es den zweiten Rabatt zieht, rechnet es zwar richtig (manchmal) aber der Rabatt der ersten Rabattstufe bleibt bestehen. Dies ist in sich falsch und schaut gar nicht professionell aus.

 

Bitte um Hilfestellung.

 

Besten Dank

Jérôme

 

TEQUILA INICIO

Edited by RILUSO (see edit history)

Share this post


Link to post
Share on other sites

erst einmal eine Lösung, wenn ihr 1.6.1.7 habt und eure Kombinationen nicht einen unterschiedlichen Preis haben:

 

Datei:

themes/default-bootstrap/js/product.js

 

Zeile 944-946 auskommentieren:

//              if (displayDiscountPrice != 0)
//                      $(this).children('td').eq(1).text( formatCurrency(discountedPrice * currencyRate, currencyFormat, currencySign, currencyBlank) );
//              $(this).children('td').eq(2).text(upToTxt + ' ' + formatCurrency(discountUpTo * currencyRate, currencyFormat, currencySign, currencyBlank));

Bei uns funktioniert es nun, ein bugfix für die unterschiedlichen Preise innerhalb eines Produktes müsste man dann nochmal genauer betrachten.

 

Bitte auch um Rückmeldung, wer eine bessere Lösung hat ...

Share this post


Link to post
Share on other sites

Hallo an alle,

 

wir sind mittlerweile in der Version 1.6.1.10 angekommen und das Problem wurde immer noch nicht behoben... :o

Gibt es eine Möglichkeit dieses Problem zu beheben??

 

Prestashop Version 1.6.1.5

Standard Template

Viele Grüße

Andreas

 

Happy-Hartmann GmbH

Share this post


Link to post
Share on other sites

Hallo an alle die dieses Problem haben,

 

hier die Lösung die bei uns funktioniert hat:

 

Datei "product.js" im Ordner Themes / Dein Theme / js / öffnen.

 

Folgenden Code unten bei function updateDiscountTable(newPrice) hinzufügen:

 

$(this).attr('data-real-discount-value',formatCurrency(discountedPrice * currencyRate, currencyFormat, currencySign, currencyBlank));

 

Aussehen muss es dann wie folgt:

 

function updateDiscountTable(newPrice)
{
$('#quantityDiscount tbody tr').each(function(){
var type = $(this).data("discount-type");
var discount = $(this).data("discount");
var quantity = $(this).data("discount-quantity");

if (type == 'percentage')

{ var discountedPrice = newPrice * (1 - discount/100); var discountUpTo = newPrice * (discount/100) * quantity; }

else if (type == 'amount')

{ var discountedPrice = newPrice - discount; var discountUpTo = discount * quantity; }

if (displayDiscountPrice != 0)
$(this).children('td').eq(1).text( formatCurrency(discountedPrice * currencyRate, currencyFormat, currencySign, currencyBlank) );
$(this).children('td').eq(2).text(upToTxt + ' ' + formatCurrency(discountUpTo * currencyRate, currencyFormat, currencySign, currencyBlank));
$(this).attr('data-real-discount-value',formatCurrency(discountedPrice * currencyRate, currencyFormat, currencySign, currencyBlank));
});
}

 

Grüße

Andreas Dück

Happy-Hartmann GmbH

 

Prestashop Version 1.6.1.11

Standard Template

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More