Drupal字段:以编程方式插入选择列表选项

时间:2013-06-11 10:08:37

标签: php input drupal-7 field

我有一个列表(文本)字段,在其中我提供以当前日期开头的日期列表。这些日期为用户提供下拉选项。

我需要以编程方式提供“日期列表”,这样无论哪一天,系统都会自动将当前当前日期打印为第一个日期。

问题是允许值列表不支持PHP格式。

有人能告诉我如何完成上述任务吗?

1 个答案:

答案 0 :(得分:0)

尝试Drupal Date模块,如果没有选项,那么你可以做的是创建 来自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日。