private function QuickEditLayoutBuilderEntityViewDisplay::getQuickEditSectionComponent in Drupal 10
Returns the Quick Edit formatter settings.
Return value
\Drupal\layout_builder\SectionComponent|null The section component if it is available.
See also
\Drupal\quickedit\LayoutBuilderIntegration::entityViewAlter()
\Drupal\quickedit\MetadataGenerator::generateFieldMetadata()
1 call to QuickEditLayoutBuilderEntityViewDisplay::getQuickEditSectionComponent()
- QuickEditLayoutBuilderEntityViewDisplay::getComponent in core/
modules/ quickedit/ src/ Entity/ QuickEditLayoutBuilderEntityViewDisplay.php - Gets the display options set for a component.
File
- core/
modules/ quickedit/ src/ Entity/ QuickEditLayoutBuilderEntityViewDisplay.php, line 40
Class
- QuickEditLayoutBuilderEntityViewDisplay
- Provides an entity view display entity that has a layout with quickedit.
Namespace
Drupal\quickedit\EntityCode
private function getQuickEditSectionComponent() {
// To determine the Quick Edit view_mode ID we need an originalMode set.
if ($original_mode = $this
->getOriginalMode()) {
$parts = explode('-', $original_mode);
// The Quick Edit view mode ID is created by
// \Drupal\quickedit\LayoutBuilderIntegration::entityViewAlter()
// concatenating together the information we need to retrieve the Layout
// Builder component. It follows the structure prescribed by the
// documentation of hook_quickedit_render_field().
if (count($parts) === 6 && $parts[0] === 'layout_builder') {
[
,
$delta,
$component_uuid,
$entity_id,
] = LayoutBuilderIntegration::deconstructViewModeId($original_mode);
$entity = $this
->entityTypeManager()
->getStorage($this
->getTargetEntityTypeId())
->load($entity_id);
$sections = $this
->getEntitySections($entity);
if (isset($sections[$delta])) {
$component = $sections[$delta]
->getComponent($component_uuid);
$plugin = $component
->getPlugin();
// We only care about FieldBlock because these are only components
// that provide Quick Edit integration: Quick Edit enables in-place
// editing of fields of entities, not of anything else.
if ($plugin instanceof DerivativeInspectionInterface && $plugin
->getBaseId() === 'field_block') {
return $component;
}
}
}
}
return NULL;
}