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