2016-07-12 4 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); 

     ?> 
하여 수행 할 수 있습니다