开发者

how to add a button to drupal forms?

I want to add a custom button to 开发者_如何学编程drupal create form so if the user clicked on it instead of submit button, the workflow state of the created object change to another state(not the default first state) any suggestion?


To modify the default forms generated by drupal you have to add a form_alter hook to your module. You can do it by defining a function like modulename_form_alter assuming the name of your module is modulename. The drupal system passed the form array and the form_state array which you can use to override the default behavior. In your case, the complete function would look something like this.

function modulename_form_alter(&$form, $form_state, $form_id) {
    if($form_id == 'what you want') {
        $form['buttons']['another_button'] = array(
            '#type'   => 'submit',
            '#value'  => 'Add to another state',
            '#submit' => array('modulename_custom_form_submit')
        );
    }
}

function modulename_custom_form_submit($form, &$form_state) {
    if($form_state['values']['another_button'] == 'Add to another state') {
        //Do your thing
    }
}

After you made the necessary modifications, you can simply submit to the default submit action of the creation form.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜