如何在Drupal 7中找到处理提交按钮的文件

时间:2018-08-27 01:53:08

标签: drupal drupal-7

我是Drupal 7的新手,与传统编程(例如本机PHP,MVC框架,Node.js,.Net等)相比,这很奇怪。请帮助我找到处理提交按钮的文件和/或函数。我已经有这个tpl文件了

<form id="com_id" method="post" action="">
...
<button type="submit" id="saveBtn" class="hidden btn-save" name="btnSave"><?php echo t('SAVE'); ?></button>

如您所见,表单的操作没有任何价值。在Laravel MVC中,这很容易,

Route::get('/the_path', 'RoutinesController@theMethod');

1 个答案:

答案 0 :(得分:0)

1。创建一个custom module

2。在example中创建一个表单:

function mymodule_example_form($form, &$form_state) {
 //build your form using the form api documentation, linked example and your needs
}

3。为表单添加验证:

function mymodule_example_form_validate($form, &$form_state) {
//your validation goes here

}

4。向其中添加提交功能

function mymodule_example_form_submit($form, &$form_state) {
//do stuff on submit here
}

不确定要在哪里打印,但是可以始终将其放在自定义块中并从那里进行渲染,或者使用钩子(mymodule_node_view)将其附加到节点上,有很多方法,但是如果需要更多详细信息,可以我们将为您提供帮助,并且一旦创建模块,别忘了打开模块:)

更新:如果表单已经存在,请使用钩子表单alter:

function your_module_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'your_form_ID') {
$form['#submit'][] = 'your_module_custom_form_submit';
}

function your_module_custom_form_submit(&$form, &$form_state, $form_id) {

//do stuff here on submit
}