Quella dannata provincia di Agrigento

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

Moderatore: mod Generali

Rispondi
Avatar utente
Manah
membro Baby
membro Baby
Messaggi: 80
Iscritto il: 13/07/2006, 12:42
Contatta:

Quella dannata provincia di Agrigento

Messaggio da Manah »

Salve a tutti!
Inserendo le province nel database, se un cliente prova a registrarsi, sbaglia l'immissione di un dato (e riceve messaggio d'errore), il modulo resta precompilato con i dati che aveva immesso, tranne che per un campo: la provincia, che si setta su Agrigento.
Già un amico sul forum risolveva così, modificando create_account.php:
Angelo ha scritto: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();
L'inconveniente poco "pulito" è che questa modifica sostituisce la preselezione di Agrigento con un generico "SELEZIONA". Questo vuol dire che se il cliente non se ne accorge (e non se ne accorge quasi MAI) riceve un ulteriore messaggio d'errore per la provincia, con l'invito a selezionarla. Insomma, un passaggio in più per il povero utente stressato.

Secondo voi, c'è modo di fare memorizzare al campo "provincia" l'immissione precedente, senza che l'utente debba farlo 44 volte?

Grazie, amici!
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Re: Quella dannata provincia di Agrigento

Messaggio da marcus »

Manah ha scritto:Salve a tutti!
Inserendo le province nel database, se un cliente prova a registrarsi, sbaglia
....
Il campo 'zone_id' deve essere presente nelle variabili POST quando la pagina viene riproposta.

Se è presente prova a forzare la zona/provincia di default:

Codice: Seleziona tutto

tep_draw_pull_down_menu('zone_id', $zones_array, $zone_id)


Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Avatar utente
Manah
membro Baby
membro Baby
Messaggi: 80
Iscritto il: 13/07/2006, 12:42
Contatta:

Messaggio da Manah »

Scusa la domanda, Marcus... sai più o meno qual'è il codice che si occupa di questo comportamento? Non so proprio dove inserirla, quella riga!
Grazie.
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Messaggio da marcus »

Manah ha scritto:Scusa la domanda, Marcus... sai più o meno qual'è il codice che si occupa di questo comportamento? Non so proprio dove inserirla, quella riga!
Grazie.
E' la funzione che visualizza il menu pull-down delle provincie.
La trovi nel file create_account.php.

Prova a modificarla da:

Codice: Seleziona tutto

tep_draw_pull_down_menu('zone_id', $zones_array)
a:

Codice: Seleziona tutto

tep_draw_pull_down_menu('zone_id', $zones_array, $zone_id)
Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Avatar utente
Manah
membro Baby
membro Baby
Messaggi: 80
Iscritto il: 13/07/2006, 12:42
Contatta:

Messaggio da Manah »

Intanto grazie per la precisazione, per un newbbio come me è indispensabile.
E poi scusami tanto, ho inserito il tuo codice e non ho sortito risultati, così ho fatto delle prove più approfondite (avrei dovuto farle prima!).
Attualmente il codice è il seguente:

Codice: Seleziona tutto

<?php
    if ($process == true) {
      if ($entry_state_has_zones == true) {
        $zones_array = array(array('id' => '','text' => PULL_DOWN_DEFAULT));
        $zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '" . (int)$country . "' 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');
      }
    } else {
      echo tep_draw_input_field('state');
    }

    if (tep_not_null(ENTRY_STATE_TEXT)) echo ' <span class="inputRequirement">' . ENTRY_STATE_TEXT;
?>
Ho provato l'inserimento di $zone_id sia in tep_draw_pull_down_menu che nei due tep_draw_input_field, ma ottengo lo stesso risultato, e cioé:
partendo dal presupposto che il cliente inserisce tutti i campi correttamente (compresa la provincia) meno uno; che la provincia va inserita inizialmente in un campo e non scelta in un menu a tendina:
a) se inserisce la provincia per esteso e con la maiuscola iniziale, allora in caso di errore viene riproposta correttamente
b) se inserisce solo la sigla o minuscolo, viene riproposto il campo SELECT nel menu a tendina!
Aggiungo che in caso di prima immissione (con tutti i dati corretti al primo tentativo, intendo) il sistema accetta sia la sigla (CT, ad esempio) che il minuscolo iniziale.

Boh?!
Avatar utente
marcus
membro Master
membro Master
Messaggi: 1619
Iscritto il: 04/12/2003, 1:00
Contatta:

Messaggio da marcus »

Prova ad istallare l'ottima contrib: Country-State Selector.

Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Avatar utente
Manah
membro Baby
membro Baby
Messaggi: 80
Iscritto il: 13/07/2006, 12:42
Contatta:

Messaggio da Manah »

Ehm... avevo già provato l'ottima contrib, maaaa... vedi un po':
http://forums.oscommerce.com/index.php? ... t&p=930201
lord_k3y
membro Junior
membro Junior
Messaggi: 12
Iscritto il: 07/09/2006, 0:59

Messaggio da lord_k3y »

Sei riuscito a risolvere? :roll:
Avatar utente
Manah
membro Baby
membro Baby
Messaggi: 80
Iscritto il: 13/07/2006, 12:42
Contatta:

Messaggio da Manah »

lord_k3y ha scritto:Sei riuscito a risolvere? :roll:
Ehm... no. Mi sto dedicando ad aspetti più importanti, attualmente. Se risolvo cercherò di ricordarmi di postare qui la soluzione :wink:
eros23
membro Junior
membro Junior
Messaggi: 30
Iscritto il: 09/07/2008, 23:04
Contatta:

Re: Quella dannata provincia di Agrigento

Messaggio da eros23 »

qualcuno è riuscito a risolvere questo problema??
Rispondi