Pagina 1 di 1

Spese di spedione

Inviato: 01/10/2008, 10:21
da wizard
Salve,
ho la necessità di abilitare diversi tipi di spedizione a seconda del peso dei pacchi.
Paccocelere1 e Paccocelere3 fino a 69 Kg con le relative tariffe
Corriere Espresso da 70 Kg in poi.
Per i primi due è tutto ok, per il corriere espresso non so cosa scrivere affinchè il metodo di spedizione venga abilitato solo quando i pacchi arrivano a 70 Kg.
Scrivendo così: 70:45.00,190:72.00,207:72.00 - mi appare la scelta anche se il peso è inferiore a 70 Kg.

Grazie dell'attenzione.
Saluti a tutti

Re: Spese di spedione

Inviato: 01/10/2008, 14:29
da robysoldtamiya
Certo, perchè 70:45.00 vuol dire che fino a 70Kg il costo è di 45e.
Sinceramente non so come intervenire per escludere <70Kg senza intervenire nel codice.
Una scappatoia sarebbe di mettere un importo spedizione fasullo tipo 70:9999 così il cliente si rende conto che il prezzo è pazzo, ma è giusto una scappatoia.

Roby

Re: Spese di spedione

Inviato: 01/10/2008, 21:10
da wizard
robysoldtamiya ha scritto:Certo, perchè 70:45.00 vuol dire che fino a 70Kg il costo è di 45e.
Sinceramente non so come intervenire per escludere <70Kg senza intervenire nel codice.
Una scappatoia sarebbe di mettere un importo spedizione fasullo tipo 70:9999 così il cliente si rende conto che il prezzo è pazzo, ma è giusto una scappatoia.

Roby
Grazie, ma non è proprio ortodosso mettere un prezzo fasullo.

Qualcuno mi potrebbe aiutare anche con il codice??

Re: Spese di spedione

Inviato: 01/10/2008, 21:42
da robysoldtamiya
Nel modulo spedizione che ti interessa che trovi in catalog\includes\modules\shipping puoi aggiungere un test all'inizio della function 'quote' così

Codice: Seleziona tutto

      
function quote($method = '') {
      global $order, $shipping_weight, $shipping_num_boxes;
// Disabilita modulo per peso < 70Kg
      if ($shipping_weight < 70) {
         $error = true;
         $error_text = MODULE_SHIPPING_POSTEPOSTAPRIORITARIA_UNDEFINED_RATE;
         $this->quotes['error'] = $error_text;
         return $this->quotes;
}
sostituisci 'MODULE_SHIPPING_POSTEPOSTAPRIORITARIA_UNDEFINED_RATE' con la corrispondente variabile che trovi nel codice

Re: Spese di spedione

Inviato: 01/10/2008, 21:52
da wizard
Grazie
appena posso faccio la prova.

:D

Re: Spese di spedione

Inviato: 01/10/2008, 21:54
da marcus
wizard ha scritto:Salve,
ho la necessità di abilitare diversi tipi di spedizione a seconda del peso dei pacchi.
Paccocelere1 e Paccocelere3 fino a 69 Kg con le relative tariffe
Corriere Espresso da 70 Kg in poi.
Per i primi due è tutto ok, per il corriere espresso non so cosa scrivere affinchè il metodo di spedizione venga abilitato solo quando i pacchi arrivano a 70 Kg.
Scrivendo così: 70:45.00,190:72.00,207:72.00 - mi appare la scelta anche se il peso è inferiore a 70 Kg.

Grazie dell'attenzione.
Saluti a tutti
Nel modulo catalog/includes/modules/shipping/corriere.php modifica il codice seguente:

da:

Codice: Seleziona tutto

				
			for ($i=0; $i<$size; $i+=2) {

				if ($shipping_weight <= $zones_table[$i]) {
					$shipping = $zones_table[$i+1];
					$shipping_method = MODULE_SHIPPING_CORRIERE1_TEXT_WAY;
					break;
				}
			}
			
a:

Codice: Seleziona tutto

		for ($i=0; $i<$size; $i+=2) {
				if ($i==0) {
					if ($shipping_weight < $zones_table[$i]) {
						$shipping_cost = 0;
						$error = true;
						$error_text = MODULE_SHIPPING_CORRIERE1_UNDEFINED_RATE;
						break;
					}
				}
				if ($shipping_weight <= $zones_table[$i]) {
					$shipping = $zones_table[$i+1];
					$shipping_method = MODULE_SHIPPING_CORRIERE1_TEXT_WAY;
					break;
				}
			}
Questa soluzione ha il vantaggio di non dover mettere mano al codice se varia il peso minimo.
Ovviamente se nel tuo modulo ci sono delle differenze nei nomi delle variabili e costanti devi tenerne conto.

Saluti
Marcus

Re: Spese di spedione

Inviato: 01/10/2008, 22:07
da wizard
Funziona!!!

Di nuovo grazie!!! :D :D

Re: Spese di spedione

Inviato: 01/10/2008, 22:14
da wizard
marcus ha scritto:
wizard ha scritto:Salve,
ho la necessità di abilitare diversi tipi di spedizione a seconda del peso dei pacchi.
Paccocelere1 e Paccocelere3 fino a 69 Kg con le relative tariffe
Corriere Espresso da 70 Kg in poi.
Per i primi due è tutto ok, per il corriere espresso non so cosa scrivere affinchè il metodo di spedizione venga abilitato solo quando i pacchi arrivano a 70 Kg.
Scrivendo così: 70:45.00,190:72.00,207:72.00 - mi appare la scelta anche se il peso è inferiore a 70 Kg.

Grazie dell'attenzione.
Saluti a tutti
Nel modulo catalog/includes/modules/shipping/corriere.php modifica il codice seguente:

da:

Codice: Seleziona tutto

				
			for ($i=0; $i<$size; $i+=2) {

				if ($shipping_weight <= $zones_table[$i]) {
					$shipping = $zones_table[$i+1];
					$shipping_method = MODULE_SHIPPING_CORRIERE1_TEXT_WAY;
					break;
				}
			}
			
a:

Codice: Seleziona tutto

		for ($i=0; $i<$size; $i+=2) {
				if ($i==0) {
					if ($shipping_weight < $zones_table[$i]) {
						$shipping_cost = 0;
						$error = true;
						$error_text = MODULE_SHIPPING_CORRIERE1_UNDEFINED_RATE;
						break;
					}
				}
				if ($shipping_weight <= $zones_table[$i]) {
					$shipping = $zones_table[$i+1];
					$shipping_method = MODULE_SHIPPING_CORRIERE1_TEXT_WAY;
					break;
				}
			}
Questa soluzione ha il vantaggio di non dover mettere mano al codice se varia il peso minimo.
Ovviamente se nel tuo modulo ci sono delle differenze nei nomi delle variabili e costanti devi tenerne conto.

Saluti
Marcus
Ottimo va bene anche questo metodo.

Di nuovo grazie tante a tutti :D

Re: Spese di spedione

Inviato: 03/10/2008, 11:51
da wizard
Ciao ragazzi,
dopo aver fatto le modifiche al modulo mi da questo errore:
Warning: Cannot modify header information - headers already sent by (output started at /home/gemiaspi/public_html/ecommerce/includes/languages/italian/modules/shipping/corriere1.php:49) in /home/gemiaspi/public_html/ecommerce/includes/functions/general.php on line 33
ho provato a rirpistinare tutto com'era, ma l'errore resta.
Avete qualche idea??
Per il momento ho dovuto disabilitare il modulo..... :(

Grazie

Re: Spese di spedione

Inviato: 03/10/2008, 12:33
da marcus
wizard ha scritto:Ciao ragazzi,
dopo aver fatto le modifiche al modulo mi da questo errore:
Warning: Cannot modify header information - headers already sent by (output started at /home/gemiaspi/public_html/ecommerce/includes/languages/italian/modules/shipping/corriere1.php:49) in /home/gemiaspi/public_html/ecommerce/includes/functions/general.php on line 33
ho provato a rirpistinare tutto com'era, ma l'errore resta.
Avete qualche idea??
Per il momento ho dovuto disabilitare il modulo..... :(

Grazie
Quale modifica hai applicato?

Hai modificato il file di lingua?

Controlla bene che non vi siano spazi all'inizio o alla fine del file di lingua.

Saluti
Marcus

Re: Spese di spedione

Inviato: 03/10/2008, 12:35
da wizard
Ciao,
ho solo copiato ed incollato il codice che mi avete dato.
Nel file della lingua ho solo cambiato la scritta che mi appare quando la spedizione non è disponibile.

Re: Spese di spedione

Inviato: 03/10/2008, 12:58
da wizard
Ora in admin mi dà questo errore:
Cannot redeclare class corriere1 in /home/gemiaspi/public_html/ecommerce/includes/modules/shipping/corriere1.php on line 19

Re: Spese di spedione

Inviato: 03/10/2008, 13:09
da wizard
Ho fatto prove su prove ed ora sembra funzionare tutto bene, ma non chiedetemi come ho fatto!! :oops: :oops: