Drupal Form模块开发

时间:2014-02-05 09:35:11

标签: php forms drupal drupal-7 form-api

我正在drupal 7中按名称'form'开发一个自定义模块。 我已将模块文件夹放在sites \ all \ modules \ form中。 我在'form'文件夹中有2个文件。 'form.info'和'form.module'。

'form.info'

name = Form
description = Form creation.
core = 7.x

'form.module'包含

<?php
function form_menu()
{
$items['form/examples'] = array
(
    'title' => 'Form API Examples',
    'description' => 'Examples of using the Form API',
    'page callback' => 'drupal_get_form',
    'page arguments' => array('form_simple_form'),
    'access callback' => TRUE
);
return $items;
}

function form_simple_form($form, &$form_submit)
{
$form['color'] = array
(
    '#title' => t('Favorite Color'),
    '#type' => 'textfield',
    '#required' => TRUE,
    '#description' => t('What is the favorite color?'),
);
$form['submit'] = array
(
    '#type' => 'submit',
    '#value' => 'Submit',
)
return $form;

}

点击链接后,我只得到空白页。

提前致谢。

2 个答案:

答案 0 :(得分:0)

将模块重命名为form1,因为它与位于/ includes中的Drupal内部表单模块冲突。

你忘记了分号:

$form['submit'] = array
(
    '#type' => 'submit',
    '#value' => 'Submit',
); //<- semicolon missing

答案 1 :(得分:0)

我为我工作,试试mymodule.module的这段代码

 <?php
 // $Id$
    function form_menu()
    {
    $items['form/examples'] = array
    (
        'title' => 'Form API Examples',
        'description' => 'Examples of using the Form API',
        'page callback' => 'drupal_get_form',
        'page arguments' => array('form_simple_form'),
        'access callback' => TRUE
    );
    return $items;
    }

    function form_simple_form($form, &$form_submit)
    {
    $form['color'] = array
    (
        '#title' => t('Favorite Color'),
        '#type' => 'textfield',
        '#required' => TRUE,
        '#description' => t('What is the favorite color?'),
    );
    $form['submit'] = array
    (
        '#type' => 'submit',
        '#value' => 'Submit',
    );
    return $form;
    }

创建mymodule.info文件时

  name = Form
  description = Form creation.
  core = 7.x
  package = Form

将包添加到其中,以便将模块放在自己的盒子中。在所有这些模块之间找到它更容易。