Drupal 8의 기사 노드 추가 / 편집 양식에 사용자 정의 제출 핸들러를 첨부하는 방법은 다음과 같습니다.
<?php
use Drupal\Core\Form\FormStateInterface;
/**
* Implements hook_form_alter().
*/
function my_module_form_alter(&$form, FormStateInterface $form_state, $form_id) {
// Use this to reveal the form id.
//drupal_set_message($form_id);
// Use this with the devel module to inspect the button action(s).
//kint($form['actions']);
switch ($form_id) {
case 'node_article_form': // New article nodes.
case 'node_article_edit_form': // Existing article nodes.
// Attach our custom submit handler.
$form['actions']['publish']['#submit'][] = 'my_module_node_article_form_submit';
break;
}
}
function my_module_node_article_form_submit($form, FormStateInterface $form_state) {
drupal_set_message('Running custom submit handler...');
}
사용자 정의 제출 핸들러를 성공적으로 추가 할 수 없었 $form['#submit']
으며 함수가 올바르게 실행되도록했습니다. 나는 있었다 명시 적으로에 첨부 저장 및 게시 새 글을 작성할 때 버튼을, 그리고에 첨부 저장 및 게시 계속 기존 문서를 편집 할 때 버튼을 누릅니다.
이외에도 publish
사용할 수있는 다른 버튼 동작은 다음과 같습니다.
unpublish
preview
delete