Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal提交处理程序不是从主题函数调用的_Drupal_Themes_Submit - Fatal编程技术网

Drupal提交处理程序不是从主题函数调用的

Drupal提交处理程序不是从主题函数调用的,drupal,themes,submit,Drupal,Themes,Submit,实际上,我正在尝试构建一个可拖动的表,但由于某种原因,在实现了theme_函数之后,我的提交处理程序不再被调用 这就是我的代码实际上的样子: function he_ministerienschalter_theme($existing, $type, $theme, $path) { $themes = array( 'he_ministerienschalter_admin_form' => array( 'render element' => 'elem

实际上,我正在尝试构建一个可拖动的表,但由于某种原因,在实现了theme_函数之后,我的提交处理程序不再被调用

这就是我的代码实际上的样子:

function he_ministerienschalter_theme($existing, $type, $theme, $path) {
  $themes = array(
    'he_ministerienschalter_admin_form' => array(
      'render element' => 'element',
    ),
  );
  return $themes;
}


/**
  * Implements the ministerschalter admin form
  */

function he_ministerienschalter_admin_form($form, &$form_state, $form_id, $item) {

  $domainnames = he_ministerienschalter_domainselect();

  $count = 0;
  $form['ressortswitch'] = array(
    '#prefix' => '<div id="curve-attributes">',
    '#suffix' => '</div>',
    '#tree' => TRUE,
    '#theme' => 'he_ministerienschalter_admin_form',
  );
  foreach ($domainnames as $key => $domainname) {
      $form['ressortswitch'][$key]['domainID-'.$key] = array(
        '#type' => 'value',
        '#value' => $domainname['domain_id'],        
      );
      $form['ressortswitch'][$key]['domainname-'.$key] = array(
        '#type' => 'item', 
        '#title' => $domainname['sitename'], 
        '#size' => 60, 
        '#maxlength' => 128, 
      );
      $form['ressortswitch'][$key]['domainshort-'.$key] = array(
        '#type' => 'textfield',
        '#default_value' => $domainname['sitename'],
      );
      $form['ressortswitch'][$key]['weight-'.$key] = array(
        '#type' => 'textfield',
        '#default_value' => !empty($domainname['domain_weight']) ? $domainname['domain_weight'] : '0',
        '#size' => 3,
        '#attributes' => array('class' => array('item-row-weight')),
      );
      $count++;
    }

    $form['ressortswitch']['count'] = array(
      '#type' => 'hidden',
      '#value' => $count,
    );
    $form['ressortswitch']['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Save Settings'),
    );

  return $form;
}

/**
  * Theme callback for the he_ministerienschalter_admin_form
  */

function theme_he_ministerienschalter_admin_form($variables) {
  $element = $variables['form'];
  drupal_add_tabledrag('ressortswitch_table', 'order', 'sibling', 'item-row-weight');
  $header = array(
    t('Domainname'),
    t('Domainshort'),
    t('Weight')  
  );

  $element_items = array();

  foreach($element['ressortswitch'] as $id => $record) {
    if(is_int($id)) {
      $element_items[] = $record;
    }
  }

  $rows = array();
  foreach ($element_items as $id => $item) {
      $domainNAME[$id] = $item['domainname-'.$id];
      $domainSHORT[$id] = $item['domainshort-'.$id];
      $domainWEIGHT[$id] = $item['weight-'.$id];

    $rows[] = array(
      'data' => array(
        drupal_render($domainNAME[$id]),
        drupal_render($domainSHORT[$id]),
        drupal_render($domainWEIGHT[$id]),
      ),
      'class' => array('draggable'),
    );
  }

  $output = theme('table', array(
    'header' => $header,
    'rows' => $rows,
    'attributes' => array('id' => 'ressortswitch_table'),
  ));

  $output .= drupal_render($element['ressortswitch']['submit']);

  return $output;
}



/**
  * Implements hook_form_submit
  */

function he_ministerienschalter_admin_form_submit($form, &$form_state, $item) {
  db_delete('he_ministerienschalter')
  ->execute();
  $count_domains = $form_state['values']['ressortswitch']['count'];
  $count = 0;
  // dpm($form_state);
  dpm($form_state);
  while($count < $count_domains) {
    db_insert('he_ministerienschalter')
      ->fields(array(
        'domain_id' => $form_state['values']['ressortswitch'][$count]['domainID-'.$count],
        'domain_short' => $form_state['values']['ressortswitch'][$count]['domainshort-'.$count],
        'domain_weight' => $form_state['values']['ressortswitch'][$count]['weight-'.$count]
    ))
    ->execute();
    $count++;
  }
  drupal_set_message('Eingabe gespeichert');
}
函数he\u ministerenschalter\u主题($existing,$type,$theme,$path){
$themes=数组(
“he_ministerenschalter_admin_form”=>数组(
“渲染元素”=>“元素”,
),
);
返回$主题;
}
/**
*实现ministerschalter管理表单
*/
函数he_ministerenschalter_admin_form($form,&$form_state,$form_id,$item){
$domainnames=he_ministerienschalter_domainselect();
$count=0;
$form['resortswitch']=数组(
“#前缀”=>”,
“#后缀”=>”,
“#tree”=>正确,
“#主题”=>“行政管理表格”,
);
foreach($key=>$domainname的域名){
$form['resortswitch'][$key]['domainID-'.$key]=数组(
“#类型”=>“值”,
“#value”=>$domainname['domain_id'],
);
$form['resortswitch'][$key]['domainname-'.$key]=数组(
“#类型”=>“项目”,
“#title”=>$domainname['sitename'],
“#大小”=>60,
“#maxlength”=>128,
);
$form['resortswitch'][$key]['domainshort-'.$key]=数组(
“#键入”=>“文本字段”,
“#默认值”=>$domainname['sitename'],
);
$form['resortswitch'][$key]['weight-'.$key]=数组(
“#键入”=>“文本字段”,
“#默认_值”=>!空($domainname['domain_weight'])?$domainname['domain_weight']:'0',
“#大小”=>3,
“#属性”=>array('class'=>array('item-row-weight')),
);
$count++;
}
$form['resortswitch']['count']=数组(
“#类型”=>“隐藏”,
“#值”=>$count,
);
$form['resortswitch']['submit']=array(
“#键入”=>“提交”,
“#值”=>t(“保存设置”),
);
返回$表格;
}
/**
*he_ministerienschalter_admin_表单的主题回调
*/
函数主题\u he\u ministerienschalter\u admin\u表单($variables){
$element=$variables['form'];
drupal_add_tabledrag('ressortswitch_table','order','sibling','item row weight');
$header=数组(
t(‘域名’),
t('Domainshort'),
t(‘重量’)
);
$element_items=array();
foreach($element['resortswitch']作为$id=>$record){
if(is_int($id)){
$element_items[]=$record;
}
}
$rows=array();
foreach($id=>$item的元素\项){
$domainNAME[$id]=$item['domainNAME-'.$id];
$domainSHORT[$id]=$item['domainSHORT-'.$id];
$domainWEIGHT[$id]=$item['weight-'.$id];
$rows[]=数组(
“数据”=>数组(
drupal_render($domainNAME[$id]),
drupal_render($domainSHORT[$id]),
drupal_渲染($domainWEIGHT[$id]),
),
'class'=>array('draggable'),
);
}
$output=theme('表',数组)(
'header'=>$header,
“行”=>$rows,
'attributes'=>array('id'=>'ressortswitch_table'),
));
$output.=drupal_render($element['resortswitch']['submit']);
返回$output;
}
/**
*执行钩子表单提交
*/
职能部门行政人员行政部门表格提交($form,&$form\u state,$item){
db_delete('he_ministerienschalter'))
->执行();
$count_domains=$form_state['values']['resortswitch']['count'];
$count=0;
//dpm($形式州);
dpm($形式州);
而($count<$count\u域){
db_插入(“他_部长级职位”)
->字段(数组)(
'domain_id'=>$form_state['values']['resortswitch'][$count]['domainID-'.$count],
'domain_short'=>$form_state['values']['resortswitch'][$count]['domainshort-'.$count],
'domain_weight'=>$form_state['values']['resortswitch'][$count]['weight-'.$count]
))
->执行();
$count++;
}
drupal_set_消息('Eingabe gespeichert');
}

你知道如何解决这个问题吗?

我更新了我的主题函数,现在它像一个符咒一样工作:-)

$output .= drupal_render($element['form_id']);
$output .= drupal_render($element['form_build_id']);
$output .= drupal_render($element['form_token']);