Impedire una spedizione se l'importo totale supera 200 euro

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
pow
membro Junior
membro Junior
Messaggi: 37
Iscritto il: 06/08/2004, 0:00
Località: ITA

Impedire una spedizione se l'importo totale supera 200 euro

Messaggio da pow »

Io ho 2 spedizioni (al momento): spedizione con bonifico e spedizione con contrassegno.
Vorrei disabilitare la spedizione contrassegno se l'ordine supera i 200 Euro.

ci sono contribution che fanno questa funzione o qualcuno sa come fare???
Ciao
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Messaggio da marcus »

Prova questa modifica al modulo cod (l'ho scritta al volo senza provarla quindi non ti garantisco niente):
// disable the module if the order only contains virtual products
if ($this->enabled == true) {
if ($order->content_type == 'virtual') {
$this->enabled = false;
}
//disable the module if the order total is > 200
if ( ($order->info['total'] - $order->info['shipping_cost']) > 200 ) {
$this->enabled = false;
}

}
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
pow
membro Junior
membro Junior
Messaggi: 37
Iscritto il: 06/08/2004, 0:00
Località: ITA

Messaggio da pow »

Ciao marcus il tuo aiuto e stato perfetto per quanto riguarda il metodo di pagamento cod.php :)

io però mi riferivo al metodo di spedizione (corriere1.php) di cui il codice che mi hai scritto, su questo mudulo non funziona, mi puo dare una mano anche qui grazie
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Messaggio da marcus »

Per disabilitare il metodo di spedizione corriere1 se l'ordine totale supera i 200 Euro, prova il codice seguente nel modulo corriere1 (riga 70 circa):

if ($shipping == -1) {
$shipping_cost = 0;
$error = true;
$error_text = MODULE_SHIPPING_CORRIERE1_UNDEFINED_RATE;
} else {
$shipping_cost = ($shipping * $shipping_num_boxes) + constant('MODULE_SHIPPING_CORRIERE1_HANDLING_' . $dest_zone);
}

if ( ($order->info['total'] - $shipping_cost) > 200 ) {
$shipping_cost = 0;
$error = true;
$error_text = MODULE_SHIPPING_CORRIERE1_UNDEFINED_RATE;
}

Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
pow
membro Junior
membro Junior
Messaggi: 37
Iscritto il: 06/08/2004, 0:00
Località: ITA

Messaggio da pow »

grazie per l'aiuto dato ho inserito il codice da te consigliato e tutto va come volevo, sei un grande
Rispondi