Consegna a domicilio
Moderatore: mod Generali
Consegna a domicilio
Ciao a tutti,
sapete se esiste o se sia complicata da creare un modulo di spedizione che sia disponibile solo per i clienti registrati con un xxxxx cap ?
Mi spiego. Vorremmo offrire una spedizione gratuita a domicilio per tutti i clienti residenti nella ns città.
Grazie
sapete se esiste o se sia complicata da creare un modulo di spedizione che sia disponibile solo per i clienti registrati con un xxxxx cap ?
Mi spiego. Vorremmo offrire una spedizione gratuita a domicilio per tutti i clienti residenti nella ns città.
Grazie
boom
- kikoleppard
- membro Senior
- Messaggi: 343
- Iscritto il: 25/05/2005, 18:12
- Località: Plovdiv-Bulgaria
- Contatta:
Penso che non esiste. Ma perche non provi a modificare questo modulo.
(che fa esattamente contrario - clienti vengono a prelevare la merce dall tua sede)
Dopo crea un gruppo dei clienti provenienti dalla tua zona e setti shipment (consegna) permisson soltanto per loro di usare questo modulo. (in Total B2B 1.4 oppure Separate price per Customer 4.1.1)
Scarica il modulo, vedi se si può fare qualche modifica e dopo riporta qui se sei riuscito.
Ciao
Customer Pickup Option.
(che fa esattamente contrario - clienti vengono a prelevare la merce dall tua sede)
Dopo crea un gruppo dei clienti provenienti dalla tua zona e setti shipment (consegna) permisson soltanto per loro di usare questo modulo. (in Total B2B 1.4 oppure Separate price per Customer 4.1.1)
Scarica il modulo, vedi se si può fare qualche modifica e dopo riporta qui se sei riuscito.
Ciao
Se si tratta di un solo cap fai una query al database, confronti il cap che devi utilizzare per la spedizione gratuita con quello del cliente (tabella address_book -> entry_postcode) e con un if dovresti risolvere...sakkiotto ha scritto: Il gruppo di clienti dovrei crearlo manualmente? La cosa non è fattibile.
Come faccio a creare un gruppo di clienti aventi un determinato cap? Non parlo di provincia, ma di un cap predeterminato.
'iao
Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto
http://www.semilandia.it
http://www.semilandia.it
sakkiotto ha scritto:gentilmente puoi postare una bozza di questo codice? Non sono molto esperto in programmazione...
Per la query nel db np, ma il confronto ...
Qualcosa del tipo if (nomedellaquery[entry_postcode] == '20100') {
In mezzo ci metti qualcosa per azzerare le spese postali
'iao
Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto
http://www.semilandia.it
http://www.semilandia.it
- kikoleppard
- membro Senior
- Messaggi: 343
- Iscritto il: 25/05/2005, 18:12
- Località: Plovdiv-Bulgaria
- Contatta:
Penso che la maggior parte dei - moduli ITA shipping Pack derivono di un modulo standard - flat.phpsakkiotto ha scritto:Ok non fa per me. :/
AIUTOOOOO
Bisognava soltanto studiare la logica nel modulo era semplice ad adattarlo
Se non hai ancora risolto il problema usi questo codice. Te l'ho tradotto anche in italiano


catalog/includes/modules/shipping/consegnaincitta
Codice: Seleziona tutto
<?php
/*
$Id: Free Shipping In Town.php,v 1.0 2005/01/10 22:41:52 KIKOLEPPARD Exp $
Based on Flat.php
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2005 KIKOLEPPARD
kikoleppard@hotmail.bg
www.galdi-alfa.com
*/
class consegnaincitta {
var $code, $title, $description, $icon, $enabled;
// class constructor
function consegnaincitta() {
global $order;
$this->code = 'consegnaincitta';
$this->title = MODULE_SHIPPING_CONSEGNAINCITTA_TEXT_TITLE;
$this->description = MODULE_SHIPPING_CONSEGNAINCITTA_TEXT_DESCRIPTION;
$this->sort_order = MODULE_SHIPPING_CONSEGNAINCITTA_SORT_ORDER;
$this->icon = '';
$this->tax_class = MODULE_SHIPPING_CONSEGNAINCITTA_TAX_CLASS;
$this->enabled = ((MODULE_SHIPPING_CONSEGNAINCITTA_STATUS == 'True') ? true : false);
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_CONSEGNAINCITTA_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_CONSEGNAINCITTA_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_CONSEGNAINCITTA_TEXT_TITLE,
'methods' => array(array('id' => $this->code,
'title' => MODULE_SHIPPING_CONSEGNAINCITTA_TEXT_WAY,
'cost' => MODULE_SHIPPING_CONSEGNAINCITTA_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_CONSEGNAINCITTA_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 Consegna GRATIS', 'MODULE_SHIPPING_CONSEGNAINCITTA_STATUS', 'True', 'Do you want to offer Consegna in Città GRATIS?', '6', '0', '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 ('Shipping Cost', 'MODULE_SHIPPING_CONSEGNAINCITTA_COST', '0.00', 'The shipping cost for all orders using this shipping method.', '6', '0', 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_CONSEGNAINCITTA_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_CONSEGNAINCITTA_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_CONSEGNAINCITTA_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())");
}
function remove() {
tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
}
function keys() {
return array(
'MODULE_SHIPPING_CONSEGNAINCITTA_STATUS',
'MODULE_SHIPPING_CONSEGNAINCITTA_COST',
'MODULE_SHIPPING_CONSEGNAINCITTA_TAX_CLASS',
'MODULE_SHIPPING_CONSEGNAINCITTA_ZONE',
'MODULE_SHIPPING_CONSEGNAINCITTA_SORT_ORDER'
);
}
}
?>
Codice: Seleziona tutto
<?php
/*
$Id: Free Shipping In Town.php,v 1.0 2005/01/10 22:41:52 KIKOLEPPARD Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2005 KIKOLEPPARD
kikoleppard@hotmail.bg
www.galdi-alfa.com
*/
define('MODULE_SHIPPING_CONSEGNAINCITTA_TEXT_TITLE', 'Consegna GRATIS');
define('MODULE_SHIPPING_CONSEGNAINCITTA_TEXT_DESCRIPTION', 'Consegna GRATIS nella zona urbana');
define('MODULE_SHIPPING_CONSEGNAINCITTA_TEXT_WAY', 'con trasporto aziendale nella zona urbana');
?>

E meglio utilizzare questo modulo con sudette Contribution. Faro un gruppo di residenti nella mia città e assegno soltanto a loro le possibilità di usarlo. Certo avranno anche il minimo ammontare dell' acquisto. Per i piccoli acquisti si userà invece l'altro modulo - Customer Pickup Option. Tutto questo e facile da sistemare con Total B2B ultima versione + le mie agguinti.kikoleppard ha scritto: Dopo crea un gruppo dei clienti provenienti dalla tua zona e setti shipment (consegna) permisson soltanto per loro di usare questo modulo. (in Total B2B 1.4 oppure Separate price per Customer 4.1.1)
Ciao
Ciao e alla prossima
- kikoleppard
- membro Senior
- Messaggi: 343
- Iscritto il: 25/05/2005, 18:12
- Località: Plovdiv-Bulgaria
- Contatta:
Si ma dipende. Tu puoi usare questo modulo anche per tutti clienti. Per esempio se usi le Contrib sudette puoi assegnare questo modulo per il gruppo DEFAULT.sakkiotto ha scritto:L'unica pecca è, se ho ben capito, che devo settare "a mano" tutti i clienti alla quale vorrei offrire la consegna a domicilio gratuita.
Ciò non è fattibile.
Infatti se reclamizzo consegna gratutita a Roma, se un cliente si registra e fà l'ordine ... non vede la consegna a domicilio...
Ma devi sperare nella buoana anima del cliente.
Guarda e megio sempre avere controllo. Io non credo che esiste modo semplice di fare la tua volontà in maniera automatica. Tutto dipenda dalla natura della tua attività.
Io per esempio non posso fare consegna a domicilio per uno che mi fa il primo ordine per 10 euro.
Allora se vuoi che assegni clienti esistenti a questo modulo. Allora fai una query come ti ha suggerito Bass. Crea un gruppo e sul criterio di residenza puoi assegnare tutti quanti nel gruppo ROMA RESIDENTI.
Ma ripeto no credo che questo modulo deve essere disponibile ai nuovi clienti.
Ciao
- kikoleppard
- membro Senior
- Messaggi: 343
- Iscritto il: 25/05/2005, 18:12
- Località: Plovdiv-Bulgaria
- Contatta:
Aspetta ma tu puoi anche settare questo modulo soltanto per una provincia. Oppure agguingere nella database come ZONE una Citta quale corisponde al sudetto CAP e assegni il modulo solo per essa.sakkiotto ha scritto:Mi serviva che il modulo fosse disponibile solo per i clienti con cap xxxxx, indipendentemente dal valore dell'ordine, da quando si sono registrati o dal gruppo.
Avevo già intuito che non si trattava di una cosa semplice da realizzare...
Ti ringrazio comunque per il tuo aiuto
Che c'e? Perche no? Funzionerebbe.
Ma io ancora non ti capisco con i costi di trasporto? O vendi merci di lusso?
