function LayoutBuilderEntityViewDisplayForm::isCanonicalMode

Same name and namespace in other branches
  1. 9 core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php \Drupal\layout_builder\Form\LayoutBuilderEntityViewDisplayForm::isCanonicalMode()
  2. 8.9.x core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php \Drupal\layout_builder\Form\LayoutBuilderEntityViewDisplayForm::isCanonicalMode()
  3. 10 core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php \Drupal\layout_builder\Form\LayoutBuilderEntityViewDisplayForm::isCanonicalMode()

Determines if the mode is used by the canonical route.

Parameters

string $mode: The view mode.

Return value

bool TRUE if the mode is valid, FALSE otherwise.

1 call to LayoutBuilderEntityViewDisplayForm::isCanonicalMode()
LayoutBuilderEntityViewDisplayForm::form in core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php
Gets the actual form array to be built.

File

core/modules/layout_builder/src/Form/LayoutBuilderEntityViewDisplayForm.php, line 135

Class

LayoutBuilderEntityViewDisplayForm
Edit form for the LayoutBuilderEntityViewDisplay entity type.

Namespace

Drupal\layout_builder\Form

Code

protected function isCanonicalMode($mode) {
    // @todo This is a convention core uses but is not a given, nor is it easily
    //   introspectable. Address in https://www.drupal.org/node/2907413.
    $canonical_mode = 'full';
    if ($mode === $canonical_mode) {
        return TRUE;
    }
    // The default mode is valid if the canonical mode is not enabled.
    if ($mode === 'default') {
        
        /** @var \Drupal\Core\Config\Entity\ConfigEntityStorageInterface $storage */
        $storage = $this->entityTypeManager
            ->getStorage($this->entity
            ->getEntityTypeId());
        $query = $storage->getQuery()
            ->condition('targetEntityType', $this->entity
            ->getTargetEntityTypeId())
            ->condition('bundle', $this->entity
            ->getTargetBundle())
            ->condition('status', TRUE)
            ->condition('mode', $canonical_mode);
        return !$query->count()
            ->execute();
    }
    return FALSE;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.