public function Paragraph::createDuplicate in Paragraphs 8
Creates a duplicate of the entity.
Return value
static A clone of $this with all identifiers unset, so saving it inserts a new entity into the storage system.
Overrides ContentEntityBase::createDuplicate
File
- src/
Entity/ Paragraph.php, line 419
Class
- Paragraph
- Defines the Paragraph entity.
Namespace
Drupal\paragraphs\EntityCode
public function createDuplicate() {
$duplicate = parent::createDuplicate();
// Loop over entity fields and duplicate nested paragraphs.
foreach ($duplicate
->getFields() as $fieldItemList) {
if ($fieldItemList instanceof EntityReferenceFieldItemListInterface && $fieldItemList
->getSetting('target_type') === $this
->getEntityTypeId()) {
foreach ($fieldItemList as $delta => $item) {
if ($item->entity) {
$fieldItemList[$delta] = $item->entity
->createDuplicate();
}
}
}
}
return $duplicate;
}