Chiunque di noi, che lavora quotidianamente con Magento, ha ad un certo punto avuto bisogno di impostare delle regole prezzi catalogo (Catalog Price Rules) per attivare delle promozioni.

A seconda delle strategie di vendita però, potrebbe verificarsi un caso in cui le regole che hai impostato non si comportano come vorresti.

Il comportamento (possibilmente) indesiderato si verifica se nel tuo catalogo hai impostato dei prezzi speciali ad alcuni prodotti e questi prodotti rientrano anche nelle condizioni delle regole prezzi catalogo.

Di fatto le regole di sconto che hai impostato non verranno applicate se il prezzo assegnato tramite il campo prezzo speciale è inferiore al prezzo elaborato dalle regole.

La soluzione purtroppo richiederebbe la riscrittura di alcune parti di codice del core di Magento.

Ma visto che questa è la prima cosa da non fare mai,

magento-did-you-just-edit-the-core

ho scritto un modulo che modifica questo comportamento.

Il modulo in questione è : Magento CPROSP ed è liberamente scaricabile da GitHub.

Visto che il codice interessato nel core, nel corso del tempo, è cambiato dalla versione 1.8 alla 1.9, ho creato due versioni distinte del modulo.

  1. Magento CPROSP 1.8.x – per Magento dalla versione 1.5.x fino alla 1.8.x
  2. Magento CPROSP 1.9.x – per Magento dalla versione 1.9.x in poi

Un prodotto avente il prezzo speciale impostato, lo sconto verrà applicato sul prezzo speciale stesso e non sul prezzo regolare!

Esempio:

un prodotto ha

  • prezzo regolare € 25.00
  • prezzo speciale € 23.00
  • regole prezzo catalogo che impostano uno sconto dell’80% su tutto il catalogo

Il prezzo finale sarà di €4.60 e non di €5.00 come ci si aspetterebbe perché l’80% sarà sottratto dal prezzo speciale e non dal prezzo regolare.