You are here

class Condition in Drupal 8

Same name in this branch
  1. 8 core/lib/Drupal/Core/Condition/Annotation/Condition.php \Drupal\Core\Condition\Annotation\Condition
  2. 8 core/lib/Drupal/Core/Database/Query/Condition.php \Drupal\Core\Database\Query\Condition
  3. 8 core/lib/Drupal/Core/Config/Entity/Query/Condition.php \Drupal\Core\Config\Entity\Query\Condition
  4. 8 core/lib/Drupal/Core/Entity/KeyValueStore/Query/Condition.php \Drupal\Core\Entity\KeyValueStore\Query\Condition
  5. 8 core/lib/Drupal/Core/Entity/Query/Sql/Condition.php \Drupal\Core\Entity\Query\Sql\Condition
  6. 8 core/lib/Drupal/Core/Entity/Query/Null/Condition.php \Drupal\Core\Entity\Query\Null\Condition
  7. 8 core/lib/Drupal/Core/Entity/Query/Sql/pgsql/Condition.php \Drupal\Core\Entity\Query\Sql\pgsql\Condition
Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Condition/Annotation/Condition.php \Drupal\Core\Condition\Annotation\Condition

Defines a condition plugin annotation object.

Condition plugins provide generalized conditions for use in other operations, such as conditional block placement.

Plugin Namespace: Plugin\Condition

For a working example, see \Drupal\user\Plugin\Condition\UserRole.

Hierarchy

Expanded class hierarchy of Condition

See also

\Drupal\Core\Condition\ConditionManager

\Drupal\Core\Condition\ConditionInterface

\Drupal\Core\Condition\ConditionPluginBase

Block API

Related topics

6 string references to 'Condition'
ConditionAggregate::compile in core/lib/Drupal/Core/Entity/Query/Sql/ConditionAggregate.php
Compiles this conditional clause.
Connection::condition in core/lib/Drupal/Core/Database/Connection.php
Prepares and returns a CONDITION query object.
Connection::getDriverClass in core/lib/Drupal/Core/Database/Connection.php
Gets the driver-specific override class if any for the specified class.
core.data_types.schema.yml in core/config/schema/core.data_types.schema.yml
core/config/schema/core.data_types.schema.yml
LoggedStatementsTrait::getDriverClass in core/modules/system/tests/modules/database_statement_monitoring_test/src/LoggedStatementsTrait.php

... See full list

10 classes are annotated with Condition
BaloneySpam in core/modules/block/tests/modules/block_test/src/Plugin/Condition/BaloneySpam.php
Provides a 'baloney_spam' condition.
ConditionTestDualUser in core/modules/system/tests/modules/condition_test/src/Plugin/Condition/ConditionTestDualUser.php
Provides a condition that requires two users.
ConditionTestNoExistingType in core/modules/system/tests/modules/condition_test/src/Plugin/Condition/ConditionTestNoExistingType.php
Provides a condition that has a no existing context.
CurrentThemeCondition in core/modules/system/src/Plugin/Condition/CurrentThemeCondition.php
Provides a 'Current Theme' condition.
Language in core/modules/language/src/Plugin/Condition/Language.php
Provides a 'Language' condition.

... See full list

File

core/lib/Drupal/Core/Condition/Annotation/Condition.php, line 26

Namespace

Drupal\Core\Condition\Annotation
View source
class Condition extends Plugin {

  /**
   * The condition plugin ID.
   *
   * @var string
   */
  public $id;

  /**
   * The human-readable name of the condition.
   *
   * @ingroup plugin_translatable
   *
   * @var \Drupal\Core\Annotation\Translation
   */
  public $label;

  /**
   * The name of the module providing the type.
   *
   * @var string
   */
  public $module;

  /**
   * An array of context definitions describing the context used by the plugin.
   *
   * The array is keyed by context names.
   *
   * @var \Drupal\Core\Annotation\ContextDefinition[]
   *
   * @deprecated Providing context definitions via the "context" key is
   *   deprecated in Drupal 8.7.x and will be removed before Drupal 9.0.0. Use
   *   the "context_definitions" key instead.
   */
  public $context = [];

  /**
   * An array of context definitions describing the context used by the plugin.
   *
   * The array is keyed by context names.
   *
   * @var \Drupal\Core\Annotation\ContextDefinition[]
   */
  public $context_definitions = [];

  /**
   * The category under which the condition should listed in the UI.
   *
   * @var \Drupal\Core\Annotation\Translation
   *
   * @ingroup plugin_translatable
   */
  public $category;

}

Members

Namesort descending Modifiers Type Description Overrides
Condition::$category public property The category under which the condition should listed in the UI.
Condition::$context Deprecated public property An array of context definitions describing the context used by the plugin.
Condition::$context_definitions public property An array of context definitions describing the context used by the plugin.
Condition::$id public property The condition plugin ID.
Condition::$label public property The human-readable name of the condition.
Condition::$module public property The name of the module providing the type.
Plugin::$definition protected property The plugin definition read from the class annotation. 1
Plugin::get public function Gets the value of an annotation. Overrides AnnotationInterface::get 5
Plugin::getClass public function Gets the class of the annotated class. Overrides AnnotationInterface::getClass
Plugin::getId public function Gets the unique ID for this annotated class. Overrides AnnotationInterface::getId
Plugin::getProvider public function Gets the name of the provider of the annotated class. Overrides AnnotationInterface::getProvider
Plugin::parse protected function Parses an annotation into its definition.
Plugin::setClass public function Sets the class of the annotated class. Overrides AnnotationInterface::setClass
Plugin::setProvider public function Sets the name of the provider of the annotated class. Overrides AnnotationInterface::setProvider
Plugin::__construct public function Constructs a Plugin object. 2