风言枫语  

      Drupal二次开发的时候,我们时常要使用到多选列表,但是官方默认的多选下拉列表,是在不敢恭维如下图所示:


 

     不过难看不可怕,Drupal有两万第三方模块做支撑,只有你想不到,没有找不到的。

    功夫不负有心人,终于找到一款相貌极佳的module。于是拿过来使用,切看我慢慢道来,该去如何使用它。

    第一:去官网下载模块,安装。


     第二:安装完毕,接下来就要使用到Form API开发中去   

 

/**
 * hook_menu().
 * @author masx
 */
function front_menu(){ $items['formexample'] = array(
 'title' => 'View the sample form',
 'page callback' => 'drupal_get_form',
 'page arguments' => array('front_nameform'),
 'access callback' => TRUE,
 'type' => MENU_NORMAL_ITEM
  );
  return $items;
} 
/**
 * Define a form. 构造表单
 */
function front_nameform() {
 $form['user_name'] = array(
  '#title' => t('Your Name'),
  '#type' => 'textfield',
  '#description' => t('Please enter your name.'),
 );
  $form['selected'] = array(
       '#type' => 'select',
       '#title' => t('Selected'),
       '#multiple' => 3,
       '#options' => array(
          0 => t('驴儿'),
          1 => t('牛儿'),
          2 => t('狗儿'),
          3 => t('猫儿'),
          4 => t('驴儿'),
          5 => t('牛儿'),
       ),
       '#description' => t('Set this to <em>Yes</em> if you would like this category to be selected by default.'),
   );
 $form['submit'] = array(
  '#type' => 'submit',
  '#value' => t('Submit')
 );
 return $form;
}
/**
 * Handle post-validation form submission.处理表单
 */
function front_nameform_submit($form, &$form_state) {
   $name = $form_state['values']['user_name'];
   drupal_set_message(t('Thanks for filling out the form, %name',
   array('%name' => $name)));}
}

      第三:显示效果

 

 


 

posted on 2013-09-17 23:17  风言枫语  阅读(252)  评论(0编辑  收藏  举报