Back to top

Autore Topic: [RISOLTO] come vendere a multipli di una data quantità  (Letto 1683 volte)

Offline fottutoblues

  • Esploratore
  • **
  • Post: 82
    • Mostra profilo
Ciao.
Trovo delle difficoltà ad impostare correttamente le impostazioni e gli avvisi per prodotti vendibili per determinate unità di vendita, ad esempio lotti di 12 pz (ovvero l'acquisto è possibile solo per multipli di 12).
Ho fatto le seguenti impostazioni:
minimo di vendita: 12 pz
confezionamento: 12 pz
Sapete darmi consiglio?
Grazie.

vtt

« Ultima modifica: 08 Lug 2010, 14:22:06 da fottutoblues »

Offline fottutoblues

  • Esploratore
  • **
  • Post: 82
    • Mostra profilo
Re:[RISOLTO] come vendere a mulltipli di una data quantità
« Risposta #1 il: 07 Lug 2010, 15:50:53 »
Te l'ho detto mille volte e non mi ascolti! Con quel nome lì non ti risponderà mai nessuno lo vuoi capire o no?

Per prima cosa:
VM NON gestisce la vendita in multipli di prodotto: se una cosa vuoi che sia acquistata solo in multiple unità di vendita (5, 10, 15, 20, ... 4, 8, 16, 20, ... ecc.) devi fare alcune modifiche al codice.

Nel mio caso ho considerato che il minimo di vendita fosse ANCHE la quantità vendibile in multipli perciò se un prodotto ha un minimo di vendita di N e lo vuoi anche vendere in multipli di M questa soluzione non va bene...

1. Dal panello di controllo Prodotti bisogna specificare correttamente il valore "minimo di vendita": questo minimo di vendita sarà anche il valore del multiplo acquistabile.

2. Apriamo \administrator\components\com_virtuemart\languages\common\mialingua.php
Modifichiamo il messaggio VM_CART_MIN_ORDER che apparirà sia col minimo non raggiunto che con un valore non multiplo del minimo (circa alla linea 710):
'VM_CART_MIN_ORDER' => 'Questo prodotto è acquistabile in multipli di $min articoli.',

3. Apriamo \administrator\components\com_virtuemart\classes\ps_cart.php
cerchiamo le tre occorrenze VM_CART_MIN_ORDER (circa alle linee 233, 365, 550) inserite in 3 blocchi IF{} che generano l’errore di non raggiungimento del minimo. Ora dobbiamo modificare le 3 condizioni IF{} in modo che generino l’errore anche quando non è rispettato il multiplo.
Le elenco tutte e tre qui di seguito con le modifiche evidenziate:

//Modificato per lotto minimo
If (($min!= 0 && $quantity !=0 && $quantity < $min) OR ($min!= 0 && $quantity !=0 && $quantity % $min !=0)) {
eval( "\$msg = \"".$VM_LANG->_('VM_CART_MIN_ORDER',false)."\";" );
$vmLogger->warning( $msg );
continue;
}

//Modificato per lotto minimo: controlla le quantità modificate dentro al carrello
If (($min!= 0 && $quantity < $min) OR ($min!= 0 && $quantity !=0 && $quantity % $min !=0)) {
eval( "\$msg = \"".$VM_LANG->_('VM_CART_MIN_ORDER',false)."\";" );
$vmLogger->warning( $msg );
return false;
}

// Modificato per lotto minimo
If (($min!= 0 && $quantity < $min) OR ($min!= 0 && $quantity !=0 && $quantity % $min !=0)) {
eval( "\$msg = \"".$VM_LANG->_('VM_CART_MIN_ORDER',false)."\";" );
$vmLogger->warning( $msg );
 return false;
}

Artigianale ma fico, vero?

vtt
« Ultima modifica: 08 Lug 2010, 14:22:37 da fottutoblues »

 



Web Design Bolzano Kreatif