2016-07-12 21 views
3

Drupalで新しくなっています。私は単純なページを作成し、ページノードIDを使用してページを作成しました。私はそのページにフォームを追加したいが、そうすることはできないが、単純なテキストを追加するときは機能しているが、フォーム要素ではない。フォームAPIを使用してフォームを追加する方法がわかりません。Drupal 7フォームがページに表示されない

<?php simple text which is showing on page ."; 
$form['submit_button'] = array(
'#type' => 'submit', 
'#value' => t('Click Here!'), 
); 

答えて

2

それは私が.moduleファイルを持っているモジュールによって行うことができる

function module_name_menu() { 
    $items = array(); 
    $items['module_name/form'] = array(
    'title' => t('My form'), 
    'page callback' => 'drupal_get_form', 
    'page arguments' => array('my_module_my_form'), 
    'access arguments' => array('access content'), 
    'description' => t('My form'), 
    'type' => MENU_CALLBACK, 
); 
    return $items; 
} 
function my_module_my_form($form, &$form_state) { 
    $form['name']= array(
    '#type' => 'textfield', 
    '#title' => t('Name'), 
    '#required' => TRUE, 
    '#description' => "Please enter your name.", 
    '#size' => 20, 
    '#maxlength' => 20, 
); 
    $form['mail'] = array(
    '#type' => 'textfield', 
    '#title' => t('Email'), 
    '#required' => TRUE, 
    '#description' => "Please enter your Email.", 
    '#size' => 30, 
    '#maxlength' => 30, 
); 
    $form['phno'] = array(
    '#type' => 'textfield', 
    '#title' => t('Phone No'), 
    '#required' => TRUE, 
    '#description' => "Please enter your Contact Number.", 
    '#size' => 30, 
    '#maxlength' => 30, 
); 
    $form['submit'] = array(
    '#type' => 'submit', 
    '#value' => 'Submit', 
); 
    return $form; 
} 

と、あなたが望む任意のページにdruple_get_formすることにより、このフォームをレンダリングし、これは

<?php 
      $form = drupal_get_form('my_module_my_form'); 
      print drupal_render($form); 

     ?> 
によって行うことができます
関連する問題