protected EntityForm::copyFormValuesToEntity(EntityInterface $entity, array $form, FormStateInterface $form_state)
Copies top-level form values to entity properties
This should not change existing entity properties that are not being edited by this form.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: The entity the current form should operate upon.
array $form: A nested array of form elements comprising the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
File
- core/lib/Drupal/Core/Entity/EntityForm.php, line 317
Class
- EntityForm
- Base class for entity forms.
Namespace
Drupal\Core\Entity
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | protected function copyFormValuesToEntity(EntityInterface $entity , array $form , FormStateInterface $form_state ) { $values = $form_state ->getValues(); if ( $this ->entity instanceof EntityWithPluginCollectionInterface) { // Do not manually update values represented by plugin collections. $values = array_diff_key ( $values , $this ->entity->getPluginCollections()); } // @todo: This relies on a method that only exists for config and content // entities, in a different way. Consider moving this logic to a config // entity specific implementation. foreach ( $values as $key => $value ) { $entity ->set( $key , $value ); } } |
Please login to continue.