欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

drupal 日期字框禁用 自己写的代码 有大用

shiping1 的头像
function _afterEditZongBiao($form, &$form_state) {
 
$field = 'field_zong_time';    
 
////var_dump($form_state['values'][$field]);
//$form_state['values'][$field][0]['value'] = '2015-10-26 00:00:00';
//var_dump($form_state['values']['field_zong_time'][0]['value']["date"]);
//  $export = kprint_r($form[$field][0]['value'], TRUE); // $vars - is a variable which you want to print.
//  print $export;
//  
//    unset($form[$field][0]['value']['#field']['widget']);
//  unset($form[$field][0]['value']['#field']['active']);
//  unset($form[$field][0]['value']['#field']['display_settings']);
//  unset($form[$field][0]['value']['#field']['widget_active']);
//  unset($form[$field][0]['value']['#field']['type']);
//  unset($form[$field][0]['value']['#type']);
//  unset($form[$field][0]['value']['#process']);
//  
//  var_dump($form[$field][0]['value']);
//  
//   $export = kprint_r($form[$field][0]['value'], TRUE); // $vars - is a variable which you want to print.
//  print $export;
//把日期置为只读类型
//var_dump( "默认日期" .$form[$field][0]['#default_value']['value']);  
//var_dump( "改变日期" .$form_state['values'][$field][0]['value']);  
//这个是根本性的赋初始值
$form_state['values'][$field][0]['value'] = $form[$field][0]['#default_value']['value'];
//这个是只读
$form[$field][0]['value']['date']['#attributes']['readonly'] = 'readonly'; 
$form[$field][0]['value']['date']['#attributes']['style'] = 'background:#EAEAEA;'; 
$form[$field][0]['value']['date']['#attributes']['onclick'] = "alert('不能修改时间');return false;";  
//这是把Drupal.settings.datePopup的值置为空 其实就是禁用了datePopup日期的弹出功能
drupal_add_js("Drupal.settings.datePopup={}", 'inline', 'footer' );
//drupal_set_message("默认日期".$form[$field][0]['#default_value']['value']);
return $form;
}


function shipingzhongcustomseven_form_alter(&$form, &$form_state, $form_id)
{
    global $user;
    $arg0 = arg(0);
   $arg1= arg(1);
    $arg2=arg(2);
    if($arg0=='node' && is_numeric($arg1) && $arg2=='edit' && (in_array('是且仅是华东角色',$user->roles)) ){
        if($form_id=='jingjiazongbiaotype_node_form' || $form_id=='kefuzongbiaotype_node_form'){
           //这个是对表单  进行覆写 提交前本身也覆写 提交写 也覆写 
         //如果想判断的话 可以在 _afterEditZongBiao 使用 
        // if (
$form_state['submitted']) 为 true
        // 表示提交后覆写  在if{//执行相应的代码}
            $form['#after_build'][] = '_afterEditZongBiao';
        }  
     }
}

普通分类: