Cambiare il metodo di consegna

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

Moderatore: mod Generali

Rispondi
Avatar utente
sanden
membro Regular
membro Regular
Messaggi: 158
Iscritto il: 28/10/2004, 0:00
Località: Italia
Contatta:

Cambiare il metodo di consegna

Messaggio da sanden »

Salve, ragazzi, sicuramente sarà una cosa banale, ma non sò come impostare di default un metodo di consegna.

Mi spiego, adesso il metodo di consegna è impostato ritiro presso la sede, dovrebbe essere invece consegna a domicilio, sapete dirmi cosa devo cambiare? (in admin non esiste la voce setta come default).

Grazie
dynamo
membro Master
membro Master
Messaggi: 1976
Iscritto il: 13/11/2007, 17:47
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da dynamo »

se non ricordo male devi giocare con il valore order ;) il primo dell'elenco dovrebbe essere quello selezionato
www.vinidimo.it

visitate e criticate se è il caso... solo con le critiche posso migliorarlo ^_^
Avatar utente
sanden
membro Regular
membro Regular
Messaggi: 158
Iscritto il: 28/10/2004, 0:00
Località: Italia
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da sanden »

Ho editato il file checkout_shipping.php ma non ho trovato nessun order di cui parli.....
dynamo
membro Master
membro Master
Messaggi: 1976
Iscritto il: 13/11/2007, 17:47
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da dynamo »

è in admin quando installi il modulo di spedizione c'è order
www.vinidimo.it

visitate e criticate se è il caso... solo con le critiche posso migliorarlo ^_^
Avatar utente
sanden
membro Regular
membro Regular
Messaggi: 158
Iscritto il: 28/10/2004, 0:00
Località: Italia
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da sanden »

Forse sono stato io poco chiaro, l'ordine di visualizzazione dei 2 metodi è giusta, ma non è giusta la scelta di default che non esiste in admin
dynamo
membro Master
membro Master
Messaggi: 1976
Iscritto il: 13/11/2007, 17:47
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da dynamo »

osc dovrebbe selezionare il primo della lista... se tu hai bisogno che sia selezionato il secondo inverti l'ordine tramite sort_order
www.vinidimo.it

visitate e criticate se è il caso... solo con le critiche posso migliorarlo ^_^
Avatar utente
sanden
membro Regular
membro Regular
Messaggi: 158
Iscritto il: 28/10/2004, 0:00
Località: Italia
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da sanden »

ho provato ma il check resta sempre su quello che non mi serve...
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da marcus »

sanden ha scritto:ho provato ma il check resta sempre su quello che non mi serve...
Quello che dice Dynamo è sbagliato: osC non seleziona il primo della lista ma il "cheapest" cioè il meno caro.

Nel tuo caso poichè la consegna in sede è a costo zero questo viene selezionato di default.

Una soluzione semplice ed elegante è quella di estendere il metodo:

Codice: Seleziona tutto

$shipping_modules->cheapest()


della classe shipping, rendendo possibile il passaggio di un argomento, cioè il metodo di spedizione che si vuole selezionato di default, nel tuo caso consegna a domicilio.

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Avatar utente
sanden
membro Regular
membro Regular
Messaggi: 158
Iscritto il: 28/10/2004, 0:00
Località: Italia
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da sanden »

perdonami marco dove devo inserirlo di preciso???
dynamo
membro Master
membro Master
Messaggi: 1976
Iscritto il: 13/11/2007, 17:47
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da dynamo »

marcus ha scritto:
sanden ha scritto:ho provato ma il check resta sempre su quello che non mi serve...
Quello che dice Dynamo è sbagliato: osC non seleziona il primo della lista ma il "cheapest" cioè il meno caro.

Nel tuo caso poichè la consegna in sede è a costo zero questo viene selezionato di default.

Una soluzione semplice ed elegante è quella di estendere il metodo:

Codice: Seleziona tutto

$shipping_modules->cheapest()


della classe shipping, rendendo possibile il passaggio di un argomento, cioè il metodo di spedizione che si vuole selezionato di default, nel tuo caso consegna a domicilio.

Saluti
Marcus
allora son sempre stato fortunato :mrgreen:
www.vinidimo.it

visitate e criticate se è il caso... solo con le critiche posso migliorarlo ^_^
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da marcus »

sanden ha scritto:perdonami marco dove devo inserirlo di preciso???
Il metodo "cheapest" lo trovi nella classe catalog/includes/classes/shipping.php.

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Avatar utente
sanden
membro Regular
membro Regular
Messaggi: 158
Iscritto il: 28/10/2004, 0:00
Località: Italia
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da sanden »

..continuo a non seguirti...
06voip
membro Veteran
membro Veteran
Messaggi: 549
Iscritto il: 12/09/2009, 11:58

Re: Cambiare il metodo di consegna

Messaggio da 06voip »

penso stia parlando di questo:

Codice: Seleziona tutto

    function cheapest() {
      if (is_array($this->modules)) {
        $rates = array();

        reset($this->modules);
        while (list(, $value) = each($this->modules)) {
          $class = substr($value, 0, strrpos($value, '.'));
          if ($GLOBALS[$class]->enabled) {
            $quotes = $GLOBALS[$class]->quotes;
            for ($i=0, $n=sizeof($quotes['methods']); $i<$n; $i++) {
              if (isset($quotes['methods'][$i]['cost']) && tep_not_null($quotes['methods'][$i]['cost'])) {
                $rates[] = array('id' => $quotes['id'] . '_' . $quotes['methods'][$i]['id'],
                                 'title' => $quotes['module'] . ' (' . $quotes['methods'][$i]['title'] . ')',
                                 'cost' => $quotes['methods'][$i]['cost']);
              }
            }
          }
        }

        $cheapest = false;
        for ($i=0, $n=sizeof($rates); $i<$n; $i++) {
          if (is_array($cheapest)) {
            if ($rates[$i]['cost'] < $cheapest['cost']) {
              $cheapest = $rates[$i];
            }
          } else {
            $cheapest = $rates[$i];
          }
        }

        return $cheapest;
      }
    }
  }
:shock:

cmq ti ha dato abbastanza indizi per trovare la soluzione, fidati :wink:

Ps. mi sa che devo cambiare la firma, quella nuova sarà: hai consultato San Google? :P
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o) bene bravo bis!!:)
Avatar utente
sanden
membro Regular
membro Regular
Messaggi: 158
Iscritto il: 28/10/2004, 0:00
Località: Italia
Contatta:

Re: Cambiare il metodo di consegna

Messaggio da sanden »

a che gioco vogliamo giocare??? :D :D :D

è esattamente il codice in mio possesso, ma nn fà quello che voglio......
06voip
membro Veteran
membro Veteran
Messaggi: 549
Iscritto il: 12/09/2009, 11:58

Re: Cambiare il metodo di consegna

Messaggio da 06voip »

prova a fare una ricerca con change cheapest default shipping, c'è sia la soluzione di Marcus e almeno un'altro modo per ottenere lo stesso risultato, scegli tu quale provare :P
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o) bene bravo bis!!:)
Rispondi