Pagina 1 di 2

Stato Provincia

Inviato: 02/07/2004, 18:07
da scemp
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.

Inviato: 04/07/2004, 12:42
da BluEdoG
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.

Inviato: 04/07/2004, 16:23
da chiocciola
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

Inviato: 04/07/2004, 16:33
da chiocciola
Per quanto riguarda le province a tendina, penso devi aggiungere una tabella con tutte le province che ti servono, ed aggiungere una funzione sul file general.php e quindi inserirla nel create account, se trovo un po' di tempo faccio delle prove e ti faccio sapere.
Ciao e buon lavoro

Inviato: 05/07/2004, 10:51
da scemp
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........ :?

Inviato: 28/07/2004, 12:04
da lions
Ciao, ho anche io questo problema, tu hai risolto?

Grazie

Inviato: 27/12/2004, 11:41
da Drako
io ho risolto così, modificando come segue il file create_account.php, intorno alla riga 600:

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);
    //}
spero di essere stato utile. CIAO!

P.S. Ovviamente funziona solo per l'italia...

Inviato: 07/01/2005, 18:07
da msiege
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

Inviato: 21/01/2005, 15:51
da lions
Salve

OK Drako così funziona, posso selezionare la provincia.

Si può impostare Italia di Default come dice anche Msiege ?

Grazie

Saluti a Tutto il Forum

Inviato: 08/02/2005, 14:27
da Bass
lions ha scritto: Si può impostare Italia di Default come dice anche 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.
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 :lol:

'iao

Sergio

Inviato: 12/02/2005, 1:17
da nanolnx
Ciao Drako,

$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);
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.

Corregetemi se sbaglio, la mia è solo un impressione a primo sguardo.
Ciao.

Inviato: 13/02/2005, 19:52
da Bass
Bass ha scritto: tep_get_country_list e sostituisci la stringa PULL_DOWN_DEFAULT con Italy.
Si potrebbe anche cambiare il valore di PULL_DOWN_DEFAULT in
Mi quoto da solo, lasciate stare, non funziona, colpa mia che faccio le modifiche senza provare

:lol:

'iao

Sergio

Inviato: 26/02/2005, 5:14
da marcus
Il problema si risolve semplicemente aggiungendo il parametro STORE_COUNTRY nell'istanza della funzione tep_get_country_list:

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>
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

Inviato: 09/01/2006, 1:33
da Angelo
nanolnx ha scritto:Ciao Drako,

$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);
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.

Corregetemi se sbaglio, la mia è solo un impressione a primo sguardo.
Ciao.
Ciao!
Io ho risolto mettendo questo :

Codice: Seleziona tutto

$zones_array = array(array('id' => '','text' => PULL_DOWN_DEFAULT));
al posto di :

Codice: Seleziona tutto

$zones_array = array();

Impostare ITALIA di default su crea account

Inviato: 15/03/2006, 11:36
da OSnew
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);
}