Domanda

Ho due opzioni per ordinare un prodotto.

    .
  1. Pick up (works)
  2. Consegna, ordine inferiore a 30, - Devi pagare 7, - e sopra non ci sono costi di consegna:

    Io uso tablerates per questo.Ho caricato un CSV ed è stato fatto correttamente:

    Land,Provincie,Postcode,"Subtotaal bestelling (en hierboven)",Verzendkosten
    *,*,*,0.0000,7.0000
    *,*,*,30.0000,0.0000
    
    .

    condizione;Prezzo VS Location

    Quando ordino sotto 30, - aggiunge 7, - questo è oké

    ma quando ordinavo sopra 30, - (sottototale) aggiunge ancora il 7, -

    Ho cancellato la cache ecc. Ecc. C'è qualcosa che avrei potuto perdere?

    Versione 1.7.0.2

È stato utile?

Soluzione

Il problema può essere la tassa. Se ordini qualcosa per $ 35, e le tue tasse sono il 21%, calcola l'ordine totale di 27.25.Quindi non si adatta alla tua tariffa di spedizione gratuita.

in app / codice / core / mage / spedizione / modello / corrier / flatrate.php Aggiungi il seguente codice (attorno alla riga 104)

// exclude Virtual products price from Package value if pre-configured
    if (!$this->getConfigFlag('include_virtual_price') && $request->getAllItems()) {
        foreach ($request->getAllItems() as $item) {
            if ($item->getParentItem()) {
                continue;
            }
            if ($item->getHasChildren() && $item->isShipSeparately()) {
                foreach ($item->getChildren() as $child) {
                    if ($child->getProduct()->isVirtual()) {
                        $request->setPackageValue($request->getPackageValue() - $child->getBaseRowTotal());
                    }
                }
            } elseif ($item->getProduct()->isVirtual()) {
                $request->setPackageValue($request->getPackageValue() - $item->getBaseRowTotal());
            }
        }
    }
    //////////// add this piece of code ////////////
    if (Mage::helper('tax')->priceIncludesTax()) {
    $taxableAmount = 0;
    foreach ($request->getAllItems() as $item) {
        $taxableAmount += $item->getTaxableAmount();
    }
    $request->setPackageValue($taxableAmount);
    //////////// till here ////////////
}

    // Free shipping by qty
    $freeQty = 0;
    if ($request->getAllItems()) {
        $freePackageValue = 0;
.

Queste sono le tariffe che sto usando per un cliente, hanno avuto gli stessi problemi.Quando un cliente ha ordinato qualcosa per 52,95, la spedizione non era libera, dopo aver aggiunto il codice sopra è stato

Land,Provincie,Postcode,"Subtotaal bestelling (en hierboven)",Verzendkosten
BEL,*,*,0.0000,6.9500
BEL,*,*,49.9900,0.0000
DEU,*,*,0.0000,4.9500
DEU,*,*,49.9900,0.0000
NLD,*,*,0.0000,4.9500
NLD,*,*,49.9900,0.0000
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top