return $this->
getThirdPartySetting('field_layout', 'settings',
[]);
} /**
* Implements \Drupal\field_layout\Display\EntityDisplayWithLayoutInterface::setLayoutId().
*/
public function setLayoutId($layout_id, array
$layout_settings =
[]) { if ($this->
getLayoutId() !==
$layout_id) { // @todo Devise a mechanism for mapping old regions to new ones in
// https://www.drupal.org/node/2796877.
$layout_definition =
$this->
getLayoutDefinition($layout_id);
$new_region =
$layout_definition->
getDefaultRegion();
$layout_regions =
$layout_definition->
getRegions();
foreach ($this->
getComponents() as $name =>
$component) { if (isset($component['region'
]) && !
isset($layout_regions[$component['region'
]])) { $component['region'
] =
$new_region;
$this->
setComponent($name,
$component);
} } } $this->
setThirdPartySetting('field_layout', 'id',
$layout_id);
// Instantiate the plugin and consult it for the updated plugin
// configuration. Once layouts are no longer stored as third party settings,