consegna in sede per una sola città

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

Moderatore: mod Generali

Rispondi
alcova
membro Junior
membro Junior
Messaggi: 35
Iscritto il: 04/09/2006, 9:54

consegna in sede per una sola città

Messaggio da alcova »

ciao a tutti,
qualcuno di voi ha modificato la contrib "consegna in sede" per renderla visibile solo ai clienti della vostra città? Dopotutto chi vuole offrire questa modalità di consegna a qualcuno che è lontano 500km??

Se si, come avete fatto (io non ho la più pallida idea...)

grazie a tutti
ciaoo
Stefano
-----------
camfab
membro Baby
membro Baby
Messaggi: 57
Iscritto il: 13/02/2006, 12:44
Località: Genova
Contatta:

Messaggio da camfab »

Sinceramente, non mi preoccuperei troppo di eliminare la visibilita' della Consegna in sede per clienti di altre citta'.

Dopotutto potrebbero avere qualche amico/parente nella citta' dove hai la sede :wink:

A parte le battute...
non credo che un cliente sia cosi' stupido da scegliere quella modalita' di consegna se non puo' passare dalla tua sede. Non credi ?

Ciao
Fabio
alcova
membro Junior
membro Junior
Messaggi: 35
Iscritto il: 04/09/2006, 9:54

Messaggio da alcova »

fabio... alla stupidità dei clienti non c'è mai fine... :P
e comunque se uno seleziona il ritiro in sede e abita a 500km tu come ti comporti?? gli annulli l'ordine? e se ha già pagato con cc??

Comunque io ho provato a modificare il file includes/modules/shipping/sede.php per poter impostare iva e zone

Bisogna rimuovere e re-installare la consegna in sede dall'admin.

Se qualcuno molto più bravo di me con il php (io ho soltanto fatto un copia e incolla da un'altro modulo che gestiva le zone...) trova dei bug o sa migliorare il codice è CALDAMENTE INVITATO a postare commenti e modifiche, (es. riguardo le funzioni install e remove).
Nella fattura il prezzo della consegna in sede viene visualizzato IVA compresa. Come si fa a farlo visualizzare IVA esclusa? L'iva viene poi regolarmente sommata insieme alle altre, quindi se solo ci fosse questa modifica sarebbe perfetto.
In pratica la fattura poi dovrebbe essere:

subtotale (iva escl) xxxx
consegna in sede (iva escl) yyyy
Iva (20%) zzzz
(eventuali altre aliquote) wwww

Totale TTTTT


Se tutto va bene si potrebbe poi fare un'aggiornamento del pacchetto.
ciao
Ecco il codice:

=======================
<?php
/*
$Id: sede.php,v 1.35 2002/11/01 04:47:03 hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2002 osCommerce

Released under the GNU General Public License
*/

class sede {
var $code, $title, $description, $icon, $enabled;

// class constructor
function sede() {
global $order;
$this->code = 'sede';
$this->title = MODULE_SHIPPING_SEDE_TEXT_TITLE;
$this->description = MODULE_SHIPPING_SEDE_TEXT_DESCRIPTION;
$this->description = MODULE_SHIPPING_SEDE_TEXT_DESCRIPTION;
$this->sort_order = MODULE_SHIPPING_SEDE_SORT_ORDER;
$this->icon = '';
$this->tax_class = MODULE_SHIPPING_SEDE_TAX_CLASS;
$this->enabled = MODULE_SHIPPING_SEDE_STATUS;
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_SEDE_ZONE > 0) ) {
$check_flag = false;
$check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_FLAT_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");
while ($check = tep_db_fetch_array($check_query)) {
if ($check['zone_id'] < 1) {
$check_flag = true;
break;
} elseif ($check['zone_id'] == $order->delivery['zone_id']) {
$check_flag = true;
break;
}
}

if ($check_flag == false) {
$this->enabled = false;
}
}
}

// class methods
function quote($method = '') {
global $order;
$this->quotes = array('id' => $this->code,
'module' => MODULE_SHIPPING_SEDE_TEXT_TITLE,
'methods' => array(array('id' => $this->code,
'title' => MODULE_SHIPPING_SEDE_TEXT_WAY,
'cost' => MODULE_SHIPPING_SEDE_COST)));
if ($this->tax_class > 0) {
$this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
}

if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title);

return $this->quotes;
}

function check() {
if (!isset($this->_check)) {
$check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_SEDE_STATUS'");
$this->_check = tep_db_num_rows($check_query);
}
return $this->_check;
}

function install() {
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Sede Shipping', 'MODULE_SHIPPING_SEDE_STATUS', 'True', 'Do you want to offer sede rate shipping?', '6', '5', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sede Cost', 'MODULE_SHIPPING_SEDE_COST', '5.00', 'What is the Shipping cost? The Handling fee will also be added.', '6', '6', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_SHIPPING_SEDE_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Shipping Zone', 'MODULE_SHIPPING_SEDE_ZONE', '0', 'If a zone is selected, only enable this shipping method for that zone.', '6', '0', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_SEDE_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())");
}

function remove() {
$keys = '';
$keys_array = $this->keys();
for ($i=0; $i<sizeof($keys_array); $i++) {
$keys .= "'" . $keys_array[$i] . "',";
}
$keys = substr($keys, 0, -1);

tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in (" . $keys . ")");
}

function keys() {
return array('MODULE_SHIPPING_SEDE_STATUS', 'MODULE_SHIPPING_SEDE_COST', 'MODULE_SHIPPING_SEDE_TAX_CLASS', 'MODULE_SHIPPING_SEDE_ZONE', 'MODULE_SHIPPING_SEDE_SORT_ORDER');
}
}
?>


========================
Stefano
-----------
camfab
membro Baby
membro Baby
Messaggi: 57
Iscritto il: 13/02/2006, 12:44
Località: Genova
Contatta:

Messaggio da camfab »

alcova ha scritto:fabio... alla stupidità dei clienti non c'è mai fine... :P
e comunque se uno seleziona il ritiro in sede e abita a 500km tu come ti comporti?? gli annulli l'ordine? e se ha già pagato con cc??
su questo hai ragione. Mai porre limiti alla stupidita' dei clienti :P

Nel mio shop (non ancora on-line) non ho previsto questa condizione. Il comportamento da attuare sarebbe quello di non annullare l'ordine, e tenere l'oggetto acquistato a disposizione del cliente presso la propria sede (se il cliente e' stupido la colpa e' sua)... Tutto cio' sulla carta, ma si sa', essere commercianti vuol dire anche "non dare mai del stupido al cliente" e venirgli incotro anche nelle sue richieste piu' assurde.
Per cui ben venga la tua modifica!

Posso testarla sul mio e-shop ?

Ciao
Fabio
Fabio
alcova
membro Junior
membro Junior
Messaggi: 35
Iscritto il: 04/09/2006, 9:54

Messaggio da alcova »

puoi??

DEVI!!!! :P

e fammi sapere... spero non ti combini casini (quindi fai il backup dell'originale).
Come ho detto ho fatto un copia e incolla "a naso"...

ciao
Stefano
Stefano
-----------
Bottle
membro Baby
membro Baby
Messaggi: 53
Iscritto il: 18/03/2006, 0:40
Località: Italia
Contatta:

Messaggio da Bottle »

x Camfab :

Sinceramente, non mi preoccuperei troppo di eliminare la visibilita' della Consegna in sede per clienti di altre citta'.

Dopotutto potrebbero avere qualche amico/parente nella citta' dove hai la sede Wink

A parte le battute...
non credo che un cliente sia cosi' stupido da scegliere quella modalita' di consegna se non puo' passare dalla tua sede. Non credi ?



Siiii !! Lo fanno in continuazione invece !! e che la sede credono sia la "loro sede" non la tua !!
alcova
membro Junior
membro Junior
Messaggi: 35
Iscritto il: 04/09/2006, 9:54

Messaggio da alcova »

scusate, il mio voleva essere semplicemente un tentativo di migliorare il pacchetto... non una discussione su quanto va esteso il raggio d'azione di questa opzione.
chi vuole può semplicemente applicarlo alla stessa nazione. Io preferisco essere sicuro che chi lo richiede sia effettivamente in grado di passare a prenderlo in tempi brevi e non "la prossima volta che capito da quelle parti", visto che ho già un negozio reale e rischierei di ritrovarmi pieno di pacchi e pacchettini in attesa di essere ritirati....
Stefano
-----------
Rispondi