Ось як приєднати спеціальний обробник подання до форми додавання / редагування вузла статті в 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