如何在drupal模块中创建表单?

Var*_*ada 4 php drupal drupal-7 drupal-fapi drupal-modules

我在网上搜索一个教程来创建一个在页面上显示的表单,当我们使用模块和块显示内容时,我们是否应该在模块中显示一个表单?由于我是drupal的新手,我对drupal形式一无所知.我下载并安装了示例表单模块.但我不知道这个表格会在哪里显示出来.我从这里下载了它 http://drupal.org/node/1121110

Muh*_*eda 11

即使你是drupal的新手也不是那么复杂.在这个例子中我所要做的就是使用hook_menu()并从drupal形式的api引用中了解可用的表单项.

以下是您要做的事情的示例.

/**
 * Implementation of hook_menu()
 */
function mymodule_menu()
{
    $items = array();

    $items['my-custom-page-path'] = array(
        'title'             => 'My Page Title',
        'description'       => t(''),
        'access callback'   => 'user_access',
        'access arguments'  => array('access content'),
        'page callback'     => 'drupal_get_form',
        'page arguments'    => array('mymodule_form_id'),
    );

    return $items;
}

function mymodule_form_id($form, &$form_state)
{
    $form = array();

    $form['my_textfield'] = array(
        '#type'         => 'textfield',
        '#title'        => t('Text Field'),
        '#description'  => t(''),
        '#weight'       => 20,
        '#required'     => TRUE,
        '#size'         => 5,
        '#maxlength'    => 5,
    );

    $form['submit'] = array(
        '#type'         => 'submit',
        '#value'        => t('Save settings'),
        '#weight'       => 10000,
    );

    return $form;
}

/**
* Form validation callback
*/
function mymodule_form_id_validate($form, &$form_state)
{
    // notice adding "_validate" to the form id
}

/**
* Form submission callback
*/
function mymodule_form_id_submit($form, &$form_state)
{
    // notice adding "_submit" to the form id
}
Run Code Online (Sandbox Code Playgroud)