removeConstraints($contexts); // If a single bundle is configured, we can set a proper constraint. if (count($this->configuration['bundles']) == 1) { $bundle = array_values($this->configuration['bundles']); foreach ($this->getContextMapping() as $definition_id => $context_id) { $contexts[$context_id]->getContextDefinition()->addConstraint('Bundle', ['value' => $bundle[0]]); } } } /** * {@inheritdoc} * * @param \Drupal\Core\Plugin\Context\ContextInterface[] $contexts */ public function removeConstraints(array $contexts = array()) { // Reset the bundle constraint for any context we've mapped. foreach ($this->getContextMapping() as $definition_id => $context_id) { $constraints = $contexts[$context_id]->getContextDefinition()->getConstraints(); unset($constraints['Bundle']); $contexts[$context_id]->getContextDefinition()->setConstraints($constraints); } } }