2013-10-30 64 views
1

我没有收到我的表单中的任何提交按钮。除了提交按钮之外,所有东西都被渲染。我尝试了很多东西,但显然不是正确的,否则我不会在这里。有人请指出我的愚蠢错误。Drupal 7,drupal_get_form不显示提交按钮

function output_string() { 
    $role_raw = current_path(); 
    $role_string = ucwords(str_replace('-', ' ', $role_raw)); 
    $output = '<div class=\"fishingnetwork\">You are not currently a member of <span class=\"rolestring\">' . $role_string . '</span> Network.'; 
    $output .= '<br>Would you like to join this network?</div><br>'; 

    return $output; 
} 

function mps_role_select_block_form($form, &$form_state) { 
    $form['network_role'] = array (
    '#type' => 'text', 
    '#title' => 'Role ID', 
    '#value' => 'myroleid' 
    ); 
    $form['submit'] = array(
    '#type' => 'submit', 
    '#value' => t('Yes') 
    ); 
} 

function mps_role_select_block_form_submit($form, &$form_state) { 
    rules_invoke_event('user_selecting_network', current_path()); 
} 


/** 
* Implementation of hook_block_info() 
*/ 


function mps_role_select_block_info() { 
    // This example comes from node.module. 
    $blocks['roleasking'] = array(
    'info' => t('Role Asking'), 
    'cache' => DRUPAL_NO_CACHE, 
); 

    return $blocks; 
} 


/** 
* Implementation of hook_block_view() 
*/ 

function mps_role_select_block_view($delta = '') { 
    // This example is adapted from node.module. 
    $block = array(); 

    switch ($delta) { 
    case 'roleasking': 
     $block['subject'] = t('Role Asking'); 
     $block['content'] = output_string() . drupal_render(drupal_get_form('mps_role_select_block_form')); 
     break; 

    } 
    return $block; 
} 
+1

您需要在表单函数中返回$ form;' – Clive

回答

1

在您的代码中,您尚未返回表单。但假设这是一个复制粘贴问题,当您发布的问题 既然你说“$形式[‘network_role’]”也变为

下面的东西可能是一个问题,从形式 1)返回$形式。如果你这样做,请执行以下操作。 2)打印(使用print_r()函数)并参阅“drupal_render(drupal_get_form('mps_role_select_block_form'))”如果它具有sumbit按钮的html。 3)如果提交按钮的数组由drupal_get_form('mps_role_select_block_form')返回并且不呈现,则返回true。 如果您使用自定义主题,则可能是主题中的问题。