как добавить кнопку в друпальные формы? - PullRequest
0 голосов
/ 19 сентября 2010

Я хочу добавить пользовательскую кнопку в форму создания drupal, чтобы, если пользователь щелкнул ее вместо кнопки отправки, состояние рабочего процесса созданного объекта изменилось на другое состояние (не первое состояние по умолчанию). Любое предложение?

1 Ответ

7 голосов
/ 19 сентября 2010

Чтобы изменить формы по умолчанию, сгенерированные drupal, вы должны добавить хук form_alter в свой модуль.Вы можете сделать это, определив функцию типа modulename_form_alter, предполагая, что имя вашего модуля равно modulename.Система drupal передала массив form и массив form_state, которые можно использовать для переопределения поведения по умолчанию.В вашем случае полная функция будет выглядеть примерно так:

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
    }
}

После внесения необходимых изменений вы можете просто выполнить действие отправки по умолчанию формы создания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...