Ho avuto questo stesso problema nel corso della la settimana scorsa. Usare il metodo -> setOriginalCustomPrice va bene per un sito a moneta unica, ma con il cambio di valuta, la sua rigidità significa che è necessario aggiornare gli articoli del carrello e il prezzo di listino ogni volta che si cambia valuta, il che è molto inefficiente secondo me.
Mi è venuta una soluzione più elegante. Crea un modulo e all'interno della sezione del modello della tua configurazione aggiungi questo;
<models>
<catalog>
<rewrite>
<product>PixieMedia_CustomPrice_Model_Product</product>
</rewrite>
</catalog>
</models>
Counter intuitivamente, la funzione principale -> getFinalPrice si trova nel modello del prodotto e non nel modello di prezzo.
Ora create il vostro nuovo modello Product.php in /app/code/local/Namespace/Module/Model/Product.php
class PixieMedia_CustomPrice_Model_Product extends Mage_Catalog_Model_Product {
public function getFinalPrice($qty=null)
// REWRITTEN FUNCTION TO RETURN THE SPECIAL PRICE AND ENSURE CURRENCY CONVERSION
{
$qBreak = false;
$customPrice = Mage::Helper('pixiemedia_customprice')->getCustomerPrice($this);
if($qty) {
$qBreak = $this->getQtyBreakPrice($this->getSku(),$qty,$customPrice[0]);
}
if($qBreak) { return $qBreak; } else { return $customPrice[0]; }
}
}
In particolare progetto su cui stavo lavorando, il client utilizza multipla listini prezzi per i prezzi specifici del cliente, il cui scopo renderebbe Magento orrendamente lento all'indice dei prezzi. Pertanto, abbiamo caricato tutti i dati su una tabella personalizzata ed eseguito una ricerca per restituire il prezzo corretto o l'interruzione per clic del cliente.
È facile agganciare la propria logica e restituire qualsiasi prezzo desiderato. Questo supporta pienamente la conversione di valuta, quindi non c'è bisogno di smanettare per riconvertire i prezzi.
Spero che questo aiuti qualcuno fuori. Divertiti :)
ho lo stesso problema qui, qualsiasi soluzione hai trovato? –
Ciao @Guillaume, ho lo stesso problema. Hai trovato qualche soluzione? per favore condividi qui –