campo data come crearlo?

6 contenuti / 0 new
Ultimo contenuto
campo data come crearlo?

ciao a tutti, ho bisogno di creare un campo data in modo che l'utente quando crea il nodo ha la possibilità di inserire il mese e l'anno del prodotto che andrà ad inserire nel nodo.
ho provato col campo "date" creato dal modulo "date", ma non sembra faccia quello che ho bisogno.

Un ottimo codice per creare un range di data è questo che ho trovato navigando parecchio sul web (anche se è uno spezzone di codice dovrebbe aiutarti), nel tuo post non indichi il link dove necessiti tale campo ma se parli di "prodotto" perso a ubercart o ecommerce?

$form['range'] = array(
   '#type' => 'value',
   '#value' => 5
);
$form['closing_date'] = array(
    '#type' => 'date',
    '#title' => t('Closing date'),
    '#description' => t('Closing date for submitting applications.'),
    '#default_value' => array(
'day' => format_date(time(), 'custom', 'j'),
'month' => format_date(time(), 'custom', 'n'),
'year' => format_date(time(), 'custom', 'Y')),
    '#after_build' => array('__set_year_range')
);
/**
* Implementation restituisce anno corrente.
*/
function __set_year_range($form_element, $form_values) {
    $year_now= gmdate('Y');
    $range_value = $form_values['range'];
    $form_element['year']['#options'] = drupal_map_assoc(range($year_now - $range_value, $year_now));
    return $form_element;
}
/**
* Implementation restituisce un intervallo di data.
*/
function __set_year_range($form_element, $form_values) {
  $year_start = isset($form_element['#year_start']) ? $form_element['#year_start'] : date('Y') - 65;
  $year_end = isset($form_element['#year_end']) ? $form_element['#year_end'] : date('Y') - 14;
  $form_element['year']['#options'] = drupal_map_assoc(range($year_start, $year_end));
  return $form_element;
}

Oppure ti riferisci a "Informazioni sull'autore" formato data? Allora in

admin/settings/date-time/formats > imposti anche formati personalizzati
admin/store/settings/store/edit/format > se hai ubercart Stringa di formattazione predefinita metti m/Y

Ciao Danzisiweb

ma come crei un campo cck con quel codice?

Per creare un qualsiasi tipo di contenuto personalizzato o form è utile
usare il modulo CCK, espandibile con molti altri moduli
aggiuntivi.Se si vuole creare un form di inserimento di eventi.

I moduli da scaricare potrebbero essere: CCK, Date,
Email Field e File Field.

Si attivano, quindi (admin/build/modules), CCK, Email, File Field, Text, Date, Date Api, Date Popup e Date Timezone.

    Andiamo in
    Home › Gestione › Gestione dei contenuti > Tipi di contenuto (admin/content/types)
    e aggiungiamo un nuovo tipo di contenuto cliccando su Aggiungi tipo di contenuto. Teniamo presente che nei tipi di contenuto Page e Story appaiono già i link  grazie a CCK.
    Home › Gestione › Gestione dei contenuti › Pagina > manage fileds (admin/content/node-type/page/fields).

Li trovi l'elenco dei campi per quel tipo di contenuto e in fondo alla pagina la possibilità di aggiungere campi personalizzati, quindi di tipo data nonchè la personalizzazione. Salva la nuova aggiunta.

    Ora vai in
    Home › Crea contenuto > Pagina (node/add/page)
    avrai il campo personalizzato perfettamente aggiunto al tipo di contenuto

Così abbiamo creato il nostro form di inserimento di eventi, ma CCK ci permette
di creare qualsiasi tipo di form usando i dovuti moduli aggiuntivi.

scusa e quel codice cosa faceva?

Quel codice riportato sopra definisce un intervallo di data in un campo '#type' => 'date', io l'ho usato in un modulo personalizzato qui: ARCA24 come potrai notare parte dal 1945 al 1996 ciò siglifica che gli utenti dovranno avere dai 14 ai 65 anni per iscriversi!

Comunque guarda qui per i campi CCK: http://www.youtube.com/watch?v=He9Ra7rkcaw