class Raw
Same name and namespace in other branches
- 11.x core/modules/views/src/Plugin/views/argument_default/Raw.php \Drupal\views\Plugin\views\argument_default\Raw
Default argument plugin to use the raw value from the URL.
Plugin annotation
@ViewsArgumentDefault(
id = "raw",
title = @Translation("Raw value from URL")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait implements \Drupal\Component\Plugin\PluginBase
- class \Drupal\views\Plugin\views\PluginBase extends \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\views\Plugin\views\ViewsPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Security\TrustedCallbackInterface implements \Drupal\Core\Plugin\PluginBase
- class \Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase implements \Drupal\views\Plugin\views\PluginBase
- class \Drupal\views\Plugin\views\argument_default\Raw extends \Drupal\Core\Cache\CacheableDependencyInterface implements \Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase
- class \Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase implements \Drupal\views\Plugin\views\PluginBase
- class \Drupal\views\Plugin\views\PluginBase extends \Drupal\Core\Plugin\ContainerFactoryPluginInterface, \Drupal\views\Plugin\views\ViewsPluginInterface, \Drupal\Component\Plugin\DependentPluginInterface, \Drupal\Core\Security\TrustedCallbackInterface implements \Drupal\Core\Plugin\PluginBase
- class \Drupal\Core\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait implements \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of Raw
Related topics
1 file declares its use of Raw
- RawTest.php in core/
modules/ views/ tests/ src/ Unit/ Plugin/ argument_default/ RawTest.php
8 string references to 'Raw'
- ConfigOverrideTest::testConfOverride in core/
tests/ Drupal/ KernelTests/ Core/ Config/ ConfigOverrideTest.php - Tests configuration override.
- Container::resolveServicesAndParameters in core/
lib/ Drupal/ Component/ DependencyInjection/ Container.php - Resolves arguments that represent services or variables to the real values.
- ContainerTest::getRaw in core/
tests/ Drupal/ Tests/ Component/ DependencyInjection/ ContainerTest.php - Helper function to return a raw value definition.
- OptimizedPhpArrayDumper::dumpValue in core/
lib/ Drupal/ Component/ DependencyInjection/ Dumper/ OptimizedPhpArrayDumper.php - Dumps the value to PHP array format.
- OptimizedPhpArrayDumperTest::getRaw in core/
tests/ Drupal/ Tests/ Component/ DependencyInjection/ Dumper/ OptimizedPhpArrayDumperTest.php - Helper function to return a raw value definition.
File
-
core/
modules/ views/ src/ Plugin/ views/ argument_default/ Raw.php, line 22
Namespace
Drupal\views\Plugin\views\argument_defaultView source
class Raw extends ArgumentDefaultPluginBase implements CacheableDependencyInterface {
/**
* The alias manager.
*
* @var \Drupal\path_alias\AliasManagerInterface
*/
protected $aliasManager;
/**
* The current path.
*
* @var \Drupal\Core\Path\CurrentPathStack
*/
protected $currentPath;
/**
* Constructs a Raw 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 mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\path_alias\AliasManagerInterface $alias_manager
* The alias manager.
* @param \Drupal\Core\Path\CurrentPathStack $current_path
* The current path.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, AliasManagerInterface $alias_manager, CurrentPathStack $current_path) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->aliasManager = $alias_manager;
$this->currentPath = $current_path;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container->get('path_alias.manager'), $container->get('path.current'));
}
/**
* {@inheritdoc}
*/
protected function defineOptions() {
$options = parent::defineOptions();
$options['index'] = [
'default' => '',
];
$options['use_alias'] = [
'default' => FALSE,
];
return $options;
}
/**
* {@inheritdoc}
*/
public function buildOptionsForm(&$form, FormStateInterface $form_state) {
parent::buildOptionsForm($form, $form_state);
$form['index'] = [
'#type' => 'select',
'#title' => $this->t('Path component'),
'#default_value' => $this->options['index'],
// range(1, 10) returns an array with:
// - keys that count from 0 to match PHP array keys from explode().
// - values that count from 1 for display to humans.
'#options' => range(1, 10),
'#description' => $this->t('The numbering starts from 1, e.g. on the page admin/structure/types, the 3rd path component is "types".'),
];
$form['use_alias'] = [
'#type' => 'checkbox',
'#title' => $this->t('Use path alias'),
'#default_value' => $this->options['use_alias'],
'#description' => $this->t('Use path alias instead of internal path.'),
];
}
/**
* {@inheritdoc}
*/
public function getArgument() {
// Don't trim the leading slash since getAliasByPath() requires it.
$path = rtrim($this->currentPath
->getPath($this->view
->getRequest()), '/');
if ($this->options['use_alias']) {
$path = $this->aliasManager
->getAliasByPath($path);
}
$args = explode('/', $path);
// Drop the empty first element created by the leading slash since the path
// component index doesn't take it into account.
array_shift($args);
if (isset($args[$this->options['index']])) {
return $args[$this->options['index']];
}
}
/**
* {@inheritdoc}
*/
public function getCacheMaxAge() {
return Cache::PERMANENT;
}
/**
* {@inheritdoc}
*/
public function getCacheContexts() {
return [
'url',
];
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.