class EntityContext

Same name in other branches
  1. 9 core/lib/Drupal/Core/Plugin/Context/EntityContext.php \Drupal\Core\Plugin\Context\EntityContext
  2. 8.9.x core/lib/Drupal/Core/Plugin/Context/EntityContext.php \Drupal\Core\Plugin\Context\EntityContext
  3. 11.x core/lib/Drupal/Core/Plugin/Context/EntityContext.php \Drupal\Core\Plugin\Context\EntityContext

Class to provide a specific entity context.

Hierarchy

Expanded class hierarchy of EntityContext

17 files declare their use of EntityContext
ConditionTestDualUserTest.php in core/tests/Drupal/KernelTests/Core/Plugin/Condition/ConditionTestDualUserTest.php
ContextDefinitionTest.php in core/tests/Drupal/KernelTests/Core/Plugin/ContextDefinitionTest.php
ContextHandlerTest.php in core/tests/Drupal/KernelTests/Core/Plugin/ContextHandlerTest.php
CurrentUserContext.php in core/modules/user/src/ContextProvider/CurrentUserContext.php
DefaultsSectionStorage.php in core/modules/layout_builder/src/Plugin/SectionStorage/DefaultsSectionStorage.php

... See full list

File

core/lib/Drupal/Core/Plugin/Context/EntityContext.php, line 11

Namespace

Drupal\Core\Plugin\Context
View source
class EntityContext extends Context {
    
    /**
     * Gets a context from an entity type ID.
     *
     * @param string $entity_type_id
     *   Entity type ID from which a definition will be derived.
     * @param string $label
     *   (optional) The label of the context.
     *
     * @return static
     */
    public static function fromEntityTypeId($entity_type_id, $label = NULL) {
        $entity_type = \Drupal::entityTypeManager()->getDefinition($entity_type_id);
        return static::fromEntityType($entity_type, $label);
    }
    
    /**
     * Gets a context from an entity type.
     *
     * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
     *   Entity type from which a definition will be derived.
     * @param string $label
     *   (optional) The label of the context.
     *
     * @return static
     */
    public static function fromEntityType(EntityTypeInterface $entity_type, $label = NULL) {
        $definition = EntityContextDefinition::fromEntityType($entity_type);
        if ($label) {
            $definition->setLabel($label);
        }
        return new static($definition);
    }
    
    /**
     * Gets a context object from an entity.
     *
     * @param \Drupal\Core\Entity\EntityInterface $entity
     *   Entity that provides a context.
     * @param string $label
     *   (optional) The label of the context.
     *
     * @return static
     */
    public static function fromEntity(EntityInterface $entity, $label = NULL) {
        $context = static::fromEntityType($entity->getEntityType(), $label);
        $context->setContextValue($entity);
        return $context;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
Context::$cacheabilityMetadata protected property The cacheability metadata.
Context::$contextData protected property The data associated with the context.
Context::$contextDefinition protected property The definition to which a context must conform. Overrides Context::$contextDefinition
Context::$contextValue protected property The value of the context.
Context::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. Overrides ContextInterface::addCacheableDependency
Context::createFromContext public static function Creates a new context with a different value. Overrides ContextInterface::createFromContext
Context::getCacheContexts public function The cache contexts associated with this object. Overrides CacheableDependencyInterface::getCacheContexts
Context::getCacheMaxAge public function The maximum age for which this object may be cached. Overrides CacheableDependencyInterface::getCacheMaxAge
Context::getCacheTags public function The cache tags associated with this object. Overrides CacheableDependencyInterface::getCacheTags
Context::getConstraints public function Gets a list of validation constraints. Overrides Context::getConstraints
Context::getContextData public function Gets the context value as typed data object. Overrides ContextInterface::getContextData
Context::getContextDefinition public function Gets the provided definition that the context must conform to. Overrides Context::getContextDefinition
Context::getContextValue public function Gets the context value. Overrides Context::getContextValue
Context::hasContextValue public function Returns whether the context has a value. Overrides Context::hasContextValue
Context::setContextValue protected function Sets the context value.
Context::validate public function Validates the set context value. Overrides Context::validate
Context::__construct public function Create a context object. Overrides Context::__construct
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
EntityContext::fromEntity public static function Gets a context object from an entity.
EntityContext::fromEntityType public static function Gets a context from an entity type.
EntityContext::fromEntityTypeId public static function Gets a context from an entity type ID.
TypedDataTrait::$typedDataManager protected property The typed data manager used for creating the data types.
TypedDataTrait::getTypedDataManager public function Gets the typed data manager. 2
TypedDataTrait::setTypedDataManager public function Sets the typed data manager. 2

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