【发布时间】:2018-11-02 02:34:31
【问题描述】:
我有一个编辑节点表单。当用户输入新值并单击提交以编辑节点时,我首先想取回旧节点,操作该值,然后保存/更新节点。
以下是我的解决方案,但它不起作用。
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 中更新/保存节点之前,如何取回旧节点并操作值?
【问题讨论】: