2017-01-17 5 views
0

Как вы программно добавляете узел из пользовательской формы (формы api), а затем перенаправляете на этот узел после его сохранения?Drupal 8: программно создать узел и перенаправить его с помощью формы api

Приведенный ниже ответ, если вы ищете полдня.

Надеюсь, это полезно кому-то еще!

ответ

0

«тип» это имя узла машины

«название» это название вы хотите, чтобы новый узел

вы можете добавить больше «FIELD_NAMES», которые используются в вашем узле

use Drupal\node\Entity\Node; 
use Drupal\Core\Url; 

public function submitForm(array &$form, FormStateInterface $form_state) { 

    $newCompanyNode = Node::create([ 
     'type' => 'company', 
     'title' => $form_state->getValue('company'), 
     //'field_name' => $value, 
    ]); 

    $newCompanyNode->save(); 
    drupal_set_message('Your company has been registered.', 'status'); 
    $url = \Drupal\Core\Url::fromRoute('entity.node.canonical', ['node' => $newCompanyNode->id()]); 
    return $form_state->setRedirectUrl($url); 

    } 

Для получения дополнительной информации о том, как настроить пользовательскую форму: https://www.drupal.org/docs/8/api/form-api/introduction-to-form-api

 Смежные вопросы

  • Нет связанных вопросов^_^