2010-05-03 28 views
5

Tengo un campo de fecha y hora de CCK y me gustaría establecer su valor predeterminado al 31 de mayo de 2011. Cuando voy a la configuración del campo, puedo establecer el valor predeterminado en Now, Blank o Relative.Drupal CCK Fecha: cómo establecer el valor predeterminado del campo de fecha y hora en una fecha de reparación?

Relative debe establecerse mediante el argumento strtotime de PHP. Sin embargo, se produce un error cuando me puse a

  • 31 May 2011 -> me sale hoy en el nodo de añadir forma
  • last day of May 2011 -> Me aparece un error en la página de configuración del campo The Strtotime default value for the To Date is invalid.

(que normalmente debería funcionar de acuerdo con http://php.net/manual/en/function.strtotime.php)

¿Tiene alguna idea de cómo configurarlo por defecto al 31 de mayo de 2011?

Respuesta

6

Creo que las fechas absolutas aún no se admiten en la parte "Personalizar valor predeterminado" de la página de configuración de fecha CCK. Usted debe ser capaz de hacerlo a través de hook_form_alter en un módulo personalizado sin embargo (sustituya el nombre del módulo, $ form_id, y el nombre de campo con el suyo):

function mymodule_form_alter(&$form, $form_state, $form_id) { 
    if ($form_id == 'myform') { 
    $mydate = date('Y-m-d', strtotime('31 May 2011')) ; 
    $form['field_my_date'][0]['#default_value']['value'] = $mydate ; 
    } 
} 
+0

Gracias dor Tu respuesta, Dan. Espero que haya alguna solución más simple. Escribir un anzuelo para un propósito tan simple me parece no tan agradable, especialmente cuando aparecen muchas otras formas como esta y el módulo se convertirá simplemente en una gran instrucción de cambio. ;-) –

+0

Sería bueno si hubiera una manera más fácil ... Revisé algunas de las publicaciones en http://drupal.org/project/issues/date?text=default y no parece haberlas, todavía. P.ej. ver http://drupal.org/node/326439, http://drupal.org/node/331000, otros. –

+0

No he encontrado estas publicaciones antes. Gracias. De todos modos, es bastante extraño que la característica simple esté ausente, mientras que usted puede usar strtotime(). Esperemos que lo compensen. :) –

Cuestiones relacionadas