function EntityForm::copyFormValuesToEntity
Same name in other branches
- 8.9.x core/lib/Drupal/Core/Entity/EntityForm.php \Drupal\Core\Entity\EntityForm::copyFormValuesToEntity()
- 10 core/lib/Drupal/Core/Entity/EntityForm.php \Drupal\Core\Entity\EntityForm::copyFormValuesToEntity()
- 11.x core/lib/Drupal/Core/Entity/EntityForm.php \Drupal\Core\Entity\EntityForm::copyFormValuesToEntity()
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.
1 call to EntityForm::copyFormValuesToEntity()
- EntityForm::buildEntity in core/
lib/ Drupal/ Core/ Entity/ EntityForm.php - Builds an updated entity object based upon the submitted form values.
9 methods override EntityForm::copyFormValuesToEntity()
- ContentEntityForm::copyFormValuesToEntity in core/
lib/ Drupal/ Core/ Entity/ ContentEntityForm.php - Copies top-level form values to entity properties.
- EntityDisplayFormBase::copyFormValuesToEntity in core/
modules/ field_ui/ src/ Form/ EntityDisplayFormBase.php - Copies top-level form values to entity properties.
- LanguageAddForm::copyFormValuesToEntity in core/
modules/ language/ src/ Form/ LanguageAddForm.php - Copies top-level form values to entity properties.
- WorkflowAddForm::copyFormValuesToEntity in core/
modules/ workflows/ src/ Form/ WorkflowAddForm.php - Copies top-level form values to entity properties.
- WorkflowEditForm::copyFormValuesToEntity in core/
modules/ workflows/ src/ Form/ WorkflowEditForm.php - Copies top-level form values to entity properties.
File
-
core/
lib/ Drupal/ Core/ Entity/ EntityForm.php, line 319
Class
- EntityForm
- Base class for entity forms.
Namespace
Drupal\Core\EntityCode
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);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.