У меня есть форма редактирования узла.Когда пользователь вводит новое значение и нажимает кнопку «Отправить», чтобы отредактировать узел, я сначала хочу вернуть старый узел, изменить значение, а затем просто сохранить / обновить узел.
Ниже приведено мое решение, но оно делаетне работает.
function custom_module_form_node_form_alter(&$form, FormStateInterface $form_state) {
$editing_entity = $form_state->getFormObject()->getEntity();
if (!$editing_entity->isNew()) {
$form['actions']['submit']['#submit'][] = 'custom_module_node_form_submit';
}
}
function custom_module_node_form_submit($form, FormStateInterface $form_state) {
$editing_entity = $form_state->getFormObject()->getEntity();
$entity = Drupal::entityTypeManager()->getStorage('node')->load($editing_entity->id());
}
В хуке form_submit я попытался вернуть старый узел, но уже слишком поздно, и узел уже обновлен / сохранен.Как я могу вернуть старый узел и манипулировать значением перед обновлением / сохранением узла в Drupal 8?