2010-05-03 8 views
5

Mam pole datetime CCK i chciałbym ustawić jego domyślną wartość na 31 maja 2011. Po przejściu do konfiguracji pola mogę ustawić domyślną wartość na Now, Blank lub Relative.Drupal CCK Data: jak ustawić domyślną wartość pola datetime na poprawną datę?

Relative należy ustawić za pomocą argumentu PHP strtotime. Jednakże nie kiedy ustawić go

  • 31 May 2011 -> mam dzisiaj w węźle dodać forma
  • last day of May 2011 -> pojawia się błąd na stronie konfiguracji pola The Strtotime default value for the To Date is invalid.

(to normalnie powinno działać zgodnie z http://php.net/manual/en/function.strtotime.php)

Czy masz pojęcie, jak ustawić wartość domyślną na 31 maja 2011?

Odpowiedz

6

Myślę, że daty bezwzględne nie są jeszcze obsługiwane w części "Dostosuj wartość domyślną" na stronie konfiguracji Data CCK. Powinieneś być w stanie to zrobić za pomocą hook_form_alter w module niestandardowym (zamień nazwę modułu, $ id_formularza i nazwę pola na twoje):

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

Dziękuję Dor Twoja odpowiedź, Dan. Mam nadzieję, że istnieje prostsze rozwiązanie. Pisanie haka w tak prostym celu nie wydaje mi się zbyt miłe, zwłaszcza gdy pojawia się wiele innych podobnych form, a moduł stanie się tylko dużą instrukcją przełączania. ;-) –

+0

Byłoby miło, gdyby był łatwiejszy sposób ... Sprawdziłem niektóre posty na http://drupal.org/project/issues/date?text=default i tam nie ma, jeszcze. Na przykład. patrz http://drupal.org/node/326439, http://drupal.org/node/331000, inne. –

+0

Nie znalazłem tych postów. Dzięki. W każdym razie, to trochę dziwne, że prosta funkcja jest nieobecna, podczas gdy można użyć strtotime(). Miejmy nadzieję, że nadrobią to. :) –

Powiązane problemy