2013-06-11 1 views
0

현재 날짜로 시작하는 날짜 목록을 제공하는 목록 (텍스트) 필드가 있습니다. 이 날짜는 드롭 다운 선택 가능한 옵션을 사용자에게 제공합니다.Drupal 필드 : 프로그래밍 방식으로 선택 목록 옵션을 삽입하십시오.

"날짜 목록"을 프로그래밍 방식으로 제공해야합니다. 그래야 요일에 관계없이 현재 날짜가 첫 번째 날짜로 자동 인쇄됩니다.

문제는 허용 된 값 목록은 PHP 형식을 지원하지 않습니다.

위에서 설명한대로 내 작업을 수행하는 방법을 알 수있는 사람은 누구입니까?

답변

0

Drupal 날짜 모듈을 사용해보십시오. 옵션이 없다면 프로그래밍 방식으로 수행하려는 '날짜 요소 선택'없이 UI에서 양식을 작성하십시오.

그런 다음 form_id의 'html source'를 디버깅하여 양식의 'id'를 가져옵니다. 그 후 위의 옵션을 선택에서 hook_form_alter(&$form, & $form_state, $form_id)

function my_form_alter(&$form, & $form_state, $form_id) { 
if ($form_id == 'MY_FORM_ID') { 

    $date_key_format = "m/d/y"; ; 
    $date_value_format = "F j, Y, g:i a"; 
    $options = array(date($date_key_format) => date($date_value_format)); 

    for ($i = 1; $i < 10; $i++) { 
    $options[date($date_key_format, strtotime("+$i days"))] = date($date_value_format, strtotime("+$i days")) 
    } 

    $form['date'] = array (
    '#type' => 'select' , 
    '#title' => 'Select Date' , 
    '#options' => $options 
    '#weight' => 5 //based on where you want this element position to be 


    ); 

} 

} 

을 사용하여, 현재 날짜부터 시작되며 현재 날짜에서 말 ~ 10 개까지 계속됩니다.

관련 문제