1

我正在drupal 7 中开发一个名为“form”的自定义模块。我已将模块文件夹放在sites\all\modules\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;

}

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

提前致谢。

4

2 回答 2

0

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

您在这里忘记了分号:

$form['submit'] = array
(
    '#type' => 'submit',
    '#value' => 'Submit',
); //<- semicolon missing
于 2014-02-05T09:45:34.413 回答
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

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

于 2014-02-06T09:26:17.880 回答