5

ページに表示されるフォームを作成するためのチュートリアルをオンラインで検索していました。モジュールとブロックを使用してコンテンツを表示するときに、モジュール内にフォームを表示しますか?私はdrupalを初めて使用するので、drupalの形式についてはわかりません。サンプルフォームモジュールをダウンロードしてインストールしました。しかし、このフォームがどこに表示されるかはわかりません。ここからダウンロードしました http://drupal.org/node/1121110

4

2 に答える 2

12

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
}
于 2012-07-22T08:13:51.327 に答える
3
#Here is the simple code for creating form in module#

===============================================================

/*..firstly create a menu in module by copying this code..*/
function form_test_menu() {
    $items['formtest'] = array(
                        'title' => 'Form Test',
                        'page callback' => 'drupal_get_form',
                        'page arguments' => array('form_test_form'),
                        'access callback' => TRUE,
                        );
    return $items;
}

/*...Now create fields like below...*/
function form_test_form($form,&$form_submit) {
    $form['firstname'] = array(
                            '#title' => t('Firstname'),
                            '#type' => 'textfield',
                            '#required' => TRUE,
                            );
    $form['lastname'] = array(
                            '#title' => t('Lastname'),
                            '#type' => 'textfield',
                            );
    $form['submit'] = array(
                        '#value' => 'Submit',
                        '#type' => 'submit',
                        );
    return $form;
}
于 2013-06-26T06:12:23.367 に答える