Ciao a tutti,
ho iniziato ad usare CMSMS ed avrei un paio di domande per le quali non ho trovato risposte in giro.
1) Le date vengono mostrate, sia lato admin sia frontend, in inglese (es.: Sun 28 December 2008) ma le vorrei in italiano.
Come posso fare? Nelle impostazioni globali ho specificato la stringa per il formato data: %d %m %Y ma non ho trovato il modo per impostare i nomi dei giorni e dei mesi in italiano.
2) Ho visto che in FormBuilder c'è la possibilità di scegliere una SELECT che carica i nomi delle nazioni. È possibile creare delle SELECT simili con altri dati (ad esempio un elenco di marche di autovetture), magari importandoli da un db o un file?
Dove sono memorizzati i nomi delle nazioni che trovo in FormBuilder?
Grazie
[SOLVED] Data in italiano e option select
Moderator: magallo
[SOLVED] Data in italiano e option select
Last edited by nervino on Mon Dec 29, 2008 5:55 pm, edited 1 time in total.
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: Data in italiano e option select
la "localizzazione" della data non dipende tanto dalla configurazione di CMSMadeSimple quanto dal PHP e dalle sue librerie... in genere, però, configurando il CMSMS come "it_IT" la formattazione delle date va a posto...nervino wrote: 1) Le date vengono mostrate, sia lato admin sia frontend, in inglese (es.: Sun 28 December 2008) ma le vorrei in italiano.
Come posso fare? Nelle impostazioni globali ho specificato la stringa per il formato data: %d %m %Y ma non ho trovato il modo per impostare i nomi dei giorni e dei mesi in italiano.
In "config.php" quindi modifica la riga:
$config['locale'] = 'it_IT';
se lo hai già fatto e non hai sortito risultato allora la vedo dura... in ogni caso io ho avuto problemi con le accentate (venerdì, giovedì... etc.) che ho risolto con "accrocchi" di questo tipo:
Code: Select all
{$entry->postdate|cms_date_format|replace:"lun,":"Lunedì,"|replace:"mar,":"Martedì,"|replace:"mer,":"Mercoledì,"|replace:"gio,":"Giovedì,"|replace:"ven,":"Venerdì,"|replace:"sab,":"Sabato,"|replace:"dom,":"Domenica,"}
questa è anche una strada (extrema ratio) per risolvere il problema nel caso tu non riesca proprio ad ottenere la localizzazione italiana della data...
ho abbastanza litigato con FormBuilder... e sto litigando... tanto che forse sarebbe più opportuno non darti consigli...nervino wrote: 2) Ho visto che in FormBuilder c'è la possibilità di scegliere una SELECT che carica i nomi delle nazioni. È possibile creare delle SELECT simili con altri dati (ad esempio un elenco di marche di autovetture), magari importandoli da un db o un file?
Dove sono memorizzati i nomi delle nazioni che trovo in FormBuilder?

però credo che la domanda posta abbia una semplice risposta... devi solo impostare un campo a tendina e creare le opzioni che ti servono... non mi sembra che si possano importare valori da tabelle esterne... i dati di impostazione dei campi del form sono registrati nelle tabelle "cms_module_fb_field" e "cms_module_fb_field_opt"
An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
Re: Data in italiano e option select
Ciao protempore, grazie per la risposta.
(Riguardo alla localizzazione, ho approfondito e credo sia un problema del mio server linux: ho reimpostato la localizzazione italiana ma il sistema mi dà sempre quella inglese. Ci smanetterò finché non risolvo...)
In giro non ho trovato documentazione in proposito (è anche vero che non ho letto completamente il wiki di sviluppo dei moduli...), ma credo di aver risolto, e lo spiego qui in caso serva a qualcuno.
Ho fatto così:
Bisogna creare una nuova classe di Formbuilder con un array contenente i dati che ci interessano, e modificare i file della lingua.
Nell'esempio creeremo una nuova classe contenente le marche di autovetture, prendendo come modello il file
"modules\FormBuilder\classes\ProvincePickerField.class.php" e modificandolo.
1) Copiare il file delle provincie canadesi (modules\FormBuilder\classes\ProvincePickerField.class.php) e modificare parte del nome che deve avere la desinenza "PickerField.class.php"
esempio: modules\FormBuilder\classes\MarchePickerField.class.php
2) Modificare i nomi della classe e delle variabili (Ad esempio, si può usare una funzione di sostituzione di un qualsiasi html editor, sostituendo la parola "Province" con una nuova, ad esempio "Marche") del nuovo file MarchePickerField.class.php
3) Modificare il contenuto dell'array che carica i dati nella select (nel nostro esempio:
inserendo i dati che ci interessano, quindi ad esempio:
4) Nel file modules\FormBuilder\lang\en_US.php aggiungere le seguenti righe:
$lang['field_type_MarchePickerField'] = 'Select Vehicle Brand';
$lang['title_select_default_Marche']='Default Selection';
5) Nel file modules\FormBuilder\lang\en_US.php aggiungere le seguenti righe:
$lang['field_type_MarchePickerField'] = 'Selezione Marca Auto';
$lang['title_select_default_Marche'] = 'Selezione predefinita';
(Ovviamente le variabili qui sopra andranno inserite anche nelle altre lingue, se utilizzate)
A questo punto, dopo aver selezionato il link della modalità avanzata del "Fast field adder" di FormBuilder, dovrebbe comparire l'opzione "Selezione Marca Auto".
Ciao e Buon Anno
Scusa, non ho capito dove inserisci il codice qui sopra, puoi dirmi in quale file?protempore wrote: in ogni caso io ho avuto problemi con le accentate (venerdì, giovedì... etc.) che ho risolto con "accrocchi" di questo tipo:Code: Select all
{$entry->postdate|cms_date_format|replace:"lun,":"Lunedì,"|replace:"mar,":"Martedì,"|replace:"mer,":"Mercoledì,"|replace:"gio,":"Giovedì,"|replace:"ven,":"Venerdì,"|replace:"sab,":"Sabato,"|replace:"dom,":"Domenica,"}
(Riguardo alla localizzazione, ho approfondito e credo sia un problema del mio server linux: ho reimpostato la localizzazione italiana ma il sistema mi dà sempre quella inglese. Ci smanetterò finché non risolvo...)
In effetti cercavo un modo per creare un set di dati da avere sempre a disposizione come scelta nel "Fast field adder" di FormBuilder (come la selezione delle nazioni o delle provincie canadesi).protempore wrote: ho abbastanza litigato con FormBuilder... e sto litigando... tanto che forse sarebbe più opportuno non darti consigli...
però credo che la domanda posta abbia una semplice risposta... devi solo impostare un campo a tendina e creare le opzioni che ti servono... non mi sembra che si possano importare valori da tabelle esterne... i dati di impostazione dei campi del form sono registrati nelle tabelle "cms_module_fb_field" e "cms_module_fb_field_opt"
In giro non ho trovato documentazione in proposito (è anche vero che non ho letto completamente il wiki di sviluppo dei moduli...), ma credo di aver risolto, e lo spiego qui in caso serva a qualcuno.
Ho fatto così:
Bisogna creare una nuova classe di Formbuilder con un array contenente i dati che ci interessano, e modificare i file della lingua.
Nell'esempio creeremo una nuova classe contenente le marche di autovetture, prendendo come modello il file
"modules\FormBuilder\classes\ProvincePickerField.class.php" e modificandolo.
1) Copiare il file delle provincie canadesi (modules\FormBuilder\classes\ProvincePickerField.class.php) e modificare parte del nome che deve avere la desinenza "PickerField.class.php"
esempio: modules\FormBuilder\classes\MarchePickerField.class.php
2) Modificare i nomi della classe e delle variabili (Ad esempio, si può usare una funzione di sostituzione di un qualsiasi html editor, sostituendo la parola "Province" con una nuova, ad esempio "Marche") del nuovo file MarchePickerField.class.php
3) Modificare il contenuto dell'array che carica i dati nella select (nel nostro esempio:
Code: Select all
$this->Provinces = array("No Default"=>'',"Alberta"=>"AB",...........);)
Code: Select all
$this->Marche = array($mod->Lang('no_default')=>'','Ac'=>'AC',
'Fiat'=>'fiat','BMW'=>'bmw','Ferrari'=>'Fe',........);
4) Nel file modules\FormBuilder\lang\en_US.php aggiungere le seguenti righe:
$lang['field_type_MarchePickerField'] = 'Select Vehicle Brand';
$lang['title_select_default_Marche']='Default Selection';
5) Nel file modules\FormBuilder\lang\en_US.php aggiungere le seguenti righe:
$lang['field_type_MarchePickerField'] = 'Selezione Marca Auto';
$lang['title_select_default_Marche'] = 'Selezione predefinita';
(Ovviamente le variabili qui sopra andranno inserite anche nelle altre lingue, se utilizzate)
A questo punto, dopo aver selezionato il link della modalità avanzata del "Fast field adder" di FormBuilder, dovrebbe comparire l'opzione "Selezione Marca Auto".
Ciao e Buon Anno
- protempore
- Power Poster
- Posts: 599
- Joined: Mon Jan 14, 2008 9:08 pm
Re: Data in italiano e option select
nei template delle news... ovunque hai la necessità di mostrare la data della news nel modo desiderato...nervino wrote: Scusa, non ho capito dove inserisci il codice qui sopra, puoi dirmi in quale file?

An eye for an eye will make the whole world blind
Mahatma Gandhi (1869-1948)
Mahatma Gandhi (1869-1948)
Re: [SOLVED] Data in italiano e option select
This post may be of interest:
http://forum.cmsmadesimple.org/index.ph ... 196.0.html
{$entry->postdate|cms_date_format:"%A %e %B %Y"|htmlentities}
It solved the wrong encoded norwegian chars (æøå) in the weekday names at least....
http://forum.cmsmadesimple.org/index.ph ... 196.0.html
{$entry->postdate|cms_date_format:"%A %e %B %Y"|htmlentities}
It solved the wrong encoded norwegian chars (æøå) in the weekday names at least....
Last edited by reneh on Sat Jun 06, 2009 3:02 pm, edited 1 time in total.
ReneH 
A search will save you hours waiting for an answer!

A search will save you hours waiting for an answer!
