Stato Provincia
Moderatore: mod Generali
Stato Provincia
Problemone......
ho ormai recepito il fatto che mettere prima la Nazione e poi la provincia nella creazione dell'account è una cosa che richiede parecchio tempo e quindi non fattibile, ma non capisco se c'è la possibilità di fare in modo che se ho un solo paese (tipo l'Italia) il campo stato/provincia possa essere selezionato tramite un menù a tendina (avendo naturalmente prima creato da admin le provincie).
Penso che sia una ottima cosa per i piccoli negozi che magari operano in una sola regione e possono vendere e consegnare prodotti solo in alcune provincie.
ho ormai recepito il fatto che mettere prima la Nazione e poi la provincia nella creazione dell'account è una cosa che richiede parecchio tempo e quindi non fattibile, ma non capisco se c'è la possibilità di fare in modo che se ho un solo paese (tipo l'Italia) il campo stato/provincia possa essere selezionato tramite un menù a tendina (avendo naturalmente prima creato da admin le provincie).
Penso che sia una ottima cosa per i piccoli negozi che magari operano in una sola regione e possono vendere e consegnare prodotti solo in alcune provincie.
io avevo iniziato a lavorarci, poi troppo tempo da usare in relazione al risultato, ho lasciato perdere. Ma mi sembra di aver visto una contrib di qualcuno che era riuscito nell'operazione di cui tu parli.
saluti, Caneblu
[ www.caneblu.com ]
[ www.caneblu.com ]
-
- membro Regular
- Messaggi: 193
- Iscritto il: 26/12/2003, 1:00
- Località: italia
Non so se ho capito il tuo problema, ma se editi create_account.php e prendi questo pezzo di codice:
-------------------------------------------------------------------------------------
<tr>
<td class="main"><?php echo ENTRY_COUNTRY; ?></td>
<td class="main"><?php echo tep_get_country_list('country') . ' ' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td>
</tr>
-------------------------------------------------------------------------------------
lo tagli e lo incolli tra:
-------------------------------------------------------------------------------------
<td class="main"><?php echo ENTRY_CITY; ?></td>
<td class="main"><?php echo tep_draw_input_field('city') . ' ' . (tep_not_null(ENTRY_CITY_TEXT) ? '<span class="inputRequirement">' . ENTRY_CITY_TEXT . '</span>': ''); ?></td>
</tr>
//incolla qui !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<?php
if (ACCOUNT_STATE == 'true') {
?>
<tr>
-------------------------------------------------------------------------------------
forse ottieni il risultato voluto
Buon lavoro
-------------------------------------------------------------------------------------
<tr>
<td class="main"><?php echo ENTRY_COUNTRY; ?></td>
<td class="main"><?php echo tep_get_country_list('country') . ' ' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td>
</tr>
-------------------------------------------------------------------------------------
lo tagli e lo incolli tra:
-------------------------------------------------------------------------------------
<td class="main"><?php echo ENTRY_CITY; ?></td>
<td class="main"><?php echo tep_draw_input_field('city') . ' ' . (tep_not_null(ENTRY_CITY_TEXT) ? '<span class="inputRequirement">' . ENTRY_CITY_TEXT . '</span>': ''); ?></td>
</tr>
//incolla qui !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<?php
if (ACCOUNT_STATE == 'true') {
?>
<tr>
-------------------------------------------------------------------------------------
forse ottieni il risultato voluto
Buon lavoro
-
- membro Regular
- Messaggi: 193
- Iscritto il: 26/12/2003, 1:00
- Località: italia
ho provato a modificare il create_account.php come descritto ma non cambia nulla....
magari mi sono espresso male... vediamo se riesco a spiegrmi meglio.
Non sò se hai presente quando viene creato un nuovo cliente, nella schermata dell'inserimento dati viene richiesto anche la città e la nazione, ma mentre la nazione è selezionabile da un menù (quello appunto a tendina) la città deve essere digitata manualmente.
Adesso mettiamo il caso che io ho come nazione ho solo l'Italia, ok? bene!
A questo punto il cliente inserisce la città e la nazione (che è una sola), conferma e il programma ricarica la pagina del crate_account.php richiedendo di selezionare la città dal menù a tendina.
Considerare che le città (stato/provincia) sono state create nell'amministrazione. Quindi il problema è fare in modo che per il campo "città" venga visualizzato un menù con le città disponibile già caricate dall'amministratore.
che casino........

magari mi sono espresso male... vediamo se riesco a spiegrmi meglio.
Non sò se hai presente quando viene creato un nuovo cliente, nella schermata dell'inserimento dati viene richiesto anche la città e la nazione, ma mentre la nazione è selezionabile da un menù (quello appunto a tendina) la città deve essere digitata manualmente.
Adesso mettiamo il caso che io ho come nazione ho solo l'Italia, ok? bene!
A questo punto il cliente inserisce la città e la nazione (che è una sola), conferma e il programma ricarica la pagina del crate_account.php richiedendo di selezionare la città dal menù a tendina.
Considerare che le città (stato/provincia) sono state create nell'amministrazione. Quindi il problema è fare in modo che per il campo "città" venga visualizzato un menù con le città disponibile già caricate dall'amministratore.
che casino........

io ho risolto così, modificando come segue il file create_account.php, intorno alla riga 600:
spero di essere stato utile. CIAO!
P.S. Ovviamente funziona solo per l'italia...
Codice: Seleziona tutto
//if ($process == true) {
//if ($entry_state_has_zones == true) {
$zones_array = array();
$zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '105' order by zone_name");
while ($zones_values = tep_db_fetch_array($zones_query)) {
$zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
}
echo tep_draw_pull_down_menu('state', $zones_array);
// } //else {
//echo tep_draw_input_field('state');
//echo tep_draw_pull_down_menu('state', $zones_array);
//}
//} else {
//echo tep_draw_input_field('state');
// echo tep_draw_pull_down_menu('state', $zones_array);
//}
P.S. Ovviamente funziona solo per l'italia...
Ciao Drako,
trovo il tuo script molto utile (più si facilita per il cliente, meglio è).
È per questo che ti scrivo:
Se vendo solo in Italia, si potrebbe fare in modo che la nazione ITALY ci sia scritta già di default (senza possibilità di cambiarla), e senza la necessità di dover ancora selezionare con il pull-down?
Grazie,
msiege
trovo il tuo script molto utile (più si facilita per il cliente, meglio è).
È per questo che ti scrivo:
Se vendo solo in Italia, si potrebbe fare in modo che la nazione ITALY ci sia scritta già di default (senza possibilità di cambiarla), e senza la necessità di dover ancora selezionare con il pull-down?
Grazie,
msiege
Visto che ci stavo dando un'occhiata oggi, per mettere l'Italia come default apri il file catalog/includes/functions/html_output.php cerchi la funzione tep_get_country_list e sostituisci la stringa PULL_DOWN_DEFAULT con Italy.lions ha scritto: Si può impostare Italia di Default come dice anche Msiege ?
Si potrebbe anche cambiare il valore di PULL_DOWN_DEFAULT in languages/italian ma se viene utilizzato per qualche altro menu a tendina rischia di fare confusione

'iao
Sergio
Ciao Drako,
Corregetemi se sbaglio, la mia è solo un impressione a primo sguardo.
Ciao.
Dando uno sguardo al codice mi sembra che se un cliente distratto, che magari vive in provincia di milano, non inserisce la provincia, viene registrato con la prima provincia, cioè Agrigento, perchè in questo modo al momento dei controlli sui vari campi del form risultera soddisfatta la condizione sul campo provincia; bisognerebbe fare qualcosa di simile al campo nazione. Appene ho tempo vedo di scrivere il codice e postarlo. se qualcuno lo fa prima di me lo posti.
$zones_array = array();
$zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '105' order by zone_name");
while ($zones_values = tep_db_fetch_array($zones_query)) {
$zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
}
echo tep_draw_pull_down_menu('state', $zones_array);
Corregetemi se sbaglio, la mia è solo un impressione a primo sguardo.
Ciao.
Il problema si risolve semplicemente aggiungendo il parametro STORE_COUNTRY nell'istanza della funzione tep_get_country_list:
Aggiornamento del 8/1/06
Per i problemi relativi alla gestione di menu a tendina per paesi e stati/provincie, consiglio di usare l'ottima contribution:
Country State Selector
http://www.oscommerce.com/community/con ... y+selector
Marcus
Codice: Seleziona tutto
<tr>
<td class="main"><?php echo ENTRY_COUNTRY; ?></td>
<td class="main"><?php echo tep_get_country_list('country', STORE_COUNTRY) . ' ' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?>
</td>
</tr>
Per i problemi relativi alla gestione di menu a tendina per paesi e stati/provincie, consiglio di usare l'ottima contribution:
Country State Selector
http://www.oscommerce.com/community/con ... y+selector
Marcus
Ultima modifica di marcus il 09/01/2006, 2:42, modificato 2 volte in totale.
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Visita la demo: http://oscpro.oscommercedev.com/index.php
Ciao!nanolnx ha scritto:Ciao Drako,
Dando uno sguardo al codice mi sembra che se un cliente distratto, che magari vive in provincia di milano, non inserisce la provincia, viene registrato con la prima provincia, cioè Agrigento, perchè in questo modo al momento dei controlli sui vari campi del form risultera soddisfatta la condizione sul campo provincia; bisognerebbe fare qualcosa di simile al campo nazione. Appene ho tempo vedo di scrivere il codice e postarlo. se qualcuno lo fa prima di me lo posti.
$zones_array = array();
$zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '105' order by zone_name");
while ($zones_values = tep_db_fetch_array($zones_query)) {
$zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
}
echo tep_draw_pull_down_menu('state', $zones_array);
Corregetemi se sbaglio, la mia è solo un impressione a primo sguardo.
Ciao.
Io ho risolto mettendo questo :
Codice: Seleziona tutto
$zones_array = array(array('id' => '','text' => PULL_DOWN_DEFAULT));
Codice: Seleziona tutto
$zones_array = array();
Impostare ITALIA di default su crea account
Per impostare di default l'italia nel form di registrazione del crea account
basta variare semplicemente il file catalog/includes/functions/html_output.php
aggiungendo 105 sul seguente codice:
// Creates a pull-down list of countries
function tep_get_country_list($name, $selected = '105', $parameters = '') {
$countries_array = array(array('id' => '', 'text' => PULL_DOWN_DEFAULT));
$countries = tep_get_countries();
for ($i=0, $n=sizeof($countries); $i<$n; $i++) {
$countries_array[] = array('id' => $countries[$i]['countries_id'], 'text' => $countries[$i]['countries_name']);
}
return tep_draw_pull_down_menu($name, $countries_array, $selected, $parameters);
}
basta variare semplicemente il file catalog/includes/functions/html_output.php
aggiungendo 105 sul seguente codice:
// Creates a pull-down list of countries
function tep_get_country_list($name, $selected = '105', $parameters = '') {
$countries_array = array(array('id' => '', 'text' => PULL_DOWN_DEFAULT));
$countries = tep_get_countries();
for ($i=0, $n=sizeof($countries); $i<$n; $i++) {
$countries_array[] = array('id' => $countries[$i]['countries_id'], 'text' => $countries[$i]['countries_name']);
}
return tep_draw_pull_down_menu($name, $countries_array, $selected, $parameters);
}