final class LanguageSelectionPageConditionIgnoreNeutral in Language Selection Page 8.2
Class for the Ignore Language Neutral plugin.
Plugin annotation
@LanguageSelectionPageCondition(
id="ignore_neutral",
weight=-40,
name=@Translation("Ignore untranslatable (language neutral) entities"),
description=@Translation("Ignore untranslatable entities (such as entities with language set to <em>Not specified</em> or <em>Not applicable</em>, or with content types that are not translatable)"),
runInBlock=TRUE,
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Component\Plugin\ContextAwarePluginBase implements ContextAwarePluginInterface
- class \Drupal\Core\Plugin\ContextAwarePluginBase implements CacheableDependencyInterface, ContextAwarePluginInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\Core\Executable\ExecutablePluginBase implements ExecutableInterface
- class \Drupal\Core\Condition\ConditionPluginBase implements ConditionInterface uses ContextAwarePluginAssignmentTrait
- class \Drupal\language_selection_page\LanguageSelectionPageConditionBase implements ConditionInterface, ContainerFactoryPluginInterface, LanguageSelectionPageConditionInterface
- class \Drupal\language_selection_page\Plugin\LanguageSelectionPageCondition\LanguageSelectionPageConditionIgnoreNeutral implements LanguageSelectionPageConditionInterface
- class \Drupal\language_selection_page\LanguageSelectionPageConditionBase implements ConditionInterface, ContainerFactoryPluginInterface, LanguageSelectionPageConditionInterface
- class \Drupal\Core\Condition\ConditionPluginBase implements ConditionInterface uses ContextAwarePluginAssignmentTrait
- class \Drupal\Core\Executable\ExecutablePluginBase implements ExecutableInterface
- class \Drupal\Core\Plugin\ContextAwarePluginBase implements CacheableDependencyInterface, ContextAwarePluginInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\Component\Plugin\ContextAwarePluginBase implements ContextAwarePluginInterface
Expanded class hierarchy of LanguageSelectionPageConditionIgnoreNeutral
File
- src/
Plugin/ LanguageSelectionPageCondition/ LanguageSelectionPageConditionIgnoreNeutral.php, line 25
Namespace
Drupal\language_selection_page\Plugin\LanguageSelectionPageConditionView source
final class LanguageSelectionPageConditionIgnoreNeutral extends LanguageSelectionPageConditionBase implements LanguageSelectionPageConditionInterface {
/**
* The route match.
*
* @var \Drupal\Core\Routing\RouteMatchInterface
*/
protected $routeMatch;
/**
* LanguageSelectionPageConditionIgnoreNeutral constructor.
*
* @param \Drupal\Core\Routing\RouteMatchInterface $route_match
* The Route Match object.
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin_id for the plugin instance.
* @param array $plugin_definition
* The plugin implementation definition.
*/
public function __construct(RouteMatchInterface $route_match, array $configuration, $plugin_id, array $plugin_definition) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->routeMatch = $route_match;
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form[$this
->getPluginId()] = [
'#title' => $this
->t('Ignore untranslatable (language neutral) entities.'),
'#type' => 'checkbox',
'#default_value' => $this->configuration[$this
->getPluginId()],
'#description' => $this
->t('Do not redirect to the language selection page if the entity on the page being viewed is not translatable (such as when it is language neutral, or if the content type it belongs to is not translatable).'),
];
return $form;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($container
->get('current_route_match'), $configuration, $plugin_id, $plugin_definition);
}
/**
* {@inheritdoc}
*/
public function evaluate() {
// Check if the "ignore language neutral" option is checked.
// If so, we will check if the entity is translatable, so that pages for
// entities with default entity language set to LANGCODE_NOT_APPLICABLE or
// LANGCODE_NOT_SPECIFIED, or where the content type is not translatable,
// are ignored.
if ($this->configuration[$this
->getPluginId()]) {
foreach ($this->routeMatch
->getParameters() as $parameter) {
if ($parameter instanceof ContentEntityInterface) {
if (!$parameter
->isTranslatable()) {
return $this
->block();
}
}
}
}
return $this
->pass();
}
/**
* {@inheritdoc}
*/
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
parent::validateConfigurationForm($form, $form_state);
$form_state
->set($this
->getPluginId(), (bool) $form_state
->get($this
->getPluginId()));
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConditionPluginBase:: |
protected | property | The condition manager to proxy execute calls through. | |
ConditionPluginBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
|
ConditionPluginBase:: |
public | function |
Gets default configuration for this plugin. Overrides ConfigurableInterface:: |
5 |
ConditionPluginBase:: |
public | function |
Executes the plugin. Overrides ExecutableInterface:: |
|
ConditionPluginBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
ConditionPluginBase:: |
public | function |
Determines whether condition result will be negated. Overrides ConditionInterface:: |
|
ConditionPluginBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
ConditionPluginBase:: |
public | function |
Sets the executable manager class. Overrides ConditionInterface:: |
|
ContextAwarePluginAssignmentTrait:: |
protected | function | Builds a form element for assigning a context to a given slot. | |
ContextAwarePluginAssignmentTrait:: |
protected | function | Wraps the context handler. | |
ContextAwarePluginAssignmentTrait:: |
abstract protected | function | Ensures the t() method is available. | |
ContextAwarePluginBase:: |
protected | property | The data objects representing the context of this plugin. | |
ContextAwarePluginBase:: |
private | property | Data objects representing the contexts passed in the plugin configuration. | |
ContextAwarePluginBase:: |
protected | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyInterface:: |
9 |
ContextAwarePluginBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyInterface:: |
7 |
ContextAwarePluginBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyInterface:: |
4 |
ContextAwarePluginBase:: |
public | function |
This code is identical to the Component in order to pick up a different
Context class. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Gets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the value for a defined context. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the values for all defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Set a context on this plugin. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Sets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Sets the value for a defined context. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Validates the set values for the defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function | Implements magic __get() method. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
ExecutablePluginBase:: |
public | function | Gets all configuration values. | |
ExecutablePluginBase:: |
public | function | Gets the definition of a configuration option. | |
ExecutablePluginBase:: |
public | function | Gets an array of definitions of available configuration options. | |
ExecutablePluginBase:: |
public | function | Sets the value of a particular configuration option. | |
LanguageSelectionPageConditionBase:: |
protected | property | The condition's weight, order of execution. | |
LanguageSelectionPageConditionBase:: |
public | function |
Alter the $content render array used to build the LSP page. Overrides LanguageSelectionPageConditionInterface:: |
2 |
LanguageSelectionPageConditionBase:: |
public | function |
Alter the page response. Overrides LanguageSelectionPageConditionInterface:: |
|
LanguageSelectionPageConditionBase:: |
public | function |
Wrapper function that returns FALSE. Overrides LanguageSelectionPageConditionInterface:: |
|
LanguageSelectionPageConditionBase:: |
public | function |
Returns the description of the plugin. Overrides LanguageSelectionPageConditionInterface:: |
|
LanguageSelectionPageConditionBase:: |
public | function |
Find the destination to redirect the user to after choosing the language. Overrides LanguageSelectionPageConditionInterface:: |
1 |
LanguageSelectionPageConditionBase:: |
public | function |
Returns the name of the plugin. Overrides LanguageSelectionPageConditionInterface:: |
|
LanguageSelectionPageConditionBase:: |
public | function |
Returns the weight of the plugin. Overrides LanguageSelectionPageConditionInterface:: |
|
LanguageSelectionPageConditionBase:: |
public | function |
Wrapper function that returns FALSE. Overrides LanguageSelectionPageConditionInterface:: |
|
LanguageSelectionPageConditionBase:: |
public | function |
Post config save method. Overrides LanguageSelectionPageConditionInterface:: |
1 |
LanguageSelectionPageConditionBase:: |
public | function |
Set the weight of the plugin. Overrides LanguageSelectionPageConditionInterface:: |
|
LanguageSelectionPageConditionBase:: |
public | function |
Form submission handler. Overrides ConditionPluginBase:: |
1 |
LanguageSelectionPageConditionBase:: |
public | function |
Provides a human readable summary of the condition's configuration. Overrides ConditionInterface:: |
|
LanguageSelectionPageConditionIgnoreNeutral:: |
protected | property | The route match. | |
LanguageSelectionPageConditionIgnoreNeutral:: |
public | function |
Form constructor. Overrides ConditionPluginBase:: |
|
LanguageSelectionPageConditionIgnoreNeutral:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
LanguageSelectionPageConditionIgnoreNeutral:: |
public | function |
Evaluates the condition and returns TRUE or FALSE accordingly. Overrides LanguageSelectionPageConditionBase:: |
|
LanguageSelectionPageConditionIgnoreNeutral:: |
public | function |
Form validation handler. Overrides ConditionPluginBase:: |
|
LanguageSelectionPageConditionIgnoreNeutral:: |
public | function |
LanguageSelectionPageConditionIgnoreNeutral constructor. Overrides ConditionPluginBase:: |
|
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. | |
TypedDataTrait:: |
public | function | Gets the typed data manager. | 2 |
TypedDataTrait:: |
public | function | Sets the typed data manager. | 2 |