2013-03-16 73 views
0

我創建了一個可拖動的表格並在其下方添加了一個提交按鈕。我能夠查看提交按鈕,但提交處理程序無法正常工作。以下是代碼。提交按鈕在主題功能中不起作用

function form_content_reorder($form, &$form_state) 
{  
$form = array(); 
$form['items'] = array(); 
$form['items']['#tree'] = TRUE; 
$form['#theme'] = 'usercontentranking_reorder_form'; 
$form['name'] = array(
'#type' => 'item', 
'#markup' => 'Hello '.get_genderval($user_data['gender']).$user_data['user_name'],); 
$form['submit'] = array(
'#type' => 'submit', 
'#value' => t('Save Preferences'), 
'#submit' => array('user_content_ranking_save'),); 
return $form; 
} 

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

function theme_usercontentranking_reorder_form($vars) { 
$element = $vars['element']; 
drupal_add_tabledrag('draggable_table', 'order', 'sibling', 'weight-group'); 
$header = array(
'label' => t(''), 
'label2' => t(''), 
'weight' => t('Weight'), 
'operations' => t('Operations'), 
); 
$rows = array(); 

foreach (element_children($element['items']) as $key) { 
$row = array(); 
$row['data'] = array(); 
$row['data'][] = drupal_render($element['items'][$key]['title']); 
$row['data'][] = drupal_render($element['items'][$key]['user_fields']); 
$row['data'][] = drupal_render($element['items'][$key]['weight']); 
$row['data'][] = drupal_render($element['items'][$key]['operation']); 
$row['class'] = array('draggable'); 
$rows[] = $row; 

$themes = drupal_render($element['name']); 

$themes .=theme('table', array(
    'header' => $header, 
    'rows' => $rows, 
    'attributes' => array('id' => 'draggable_table'), 
)); 

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

return $themes; 
} 

function user_content_ranking_save($form, &$form_state) 
{ 
    print "text"; 
} 

$主題= drupal_render($元素[ '提交']); 能夠顯示按鈕,但功能user_content_ranking_save沒有被調用。 請幫我。

回答

0

添加以下三行:

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

前:

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

已經解決了這個問題。