class Route in Drupal 10
Same name in this branch
- 10 core/modules/migrate/src/Plugin/migrate/process/Route.php \Drupal\migrate\Plugin\migrate\process\Route
- 10 core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/Annotation/Route.php \Drupal\Tests\Component\Annotation\Doctrine\Fixtures\Annotation\Route
Same name and namespace in other branches
- 8 core/modules/migrate/src/Plugin/migrate/process/Route.php \Drupal\migrate\Plugin\migrate\process\Route
- 9 core/modules/migrate/src/Plugin/migrate/process/Route.php \Drupal\migrate\Plugin\migrate\process\Route
Sets the destination route information based on the source link_path.
The source value is an array of two values:
- link_path: The path or URL of the route.
- options: An array of URL options, e.g. query string, attributes, etc.
Example:
process:
new_route_field:
plugin: route
source:
- 'https://www.drupal.org'
-
attributes:
title: Drupal
This will set new_route_field to be a route with the URL "https://www.drupal.org" and title attribute "Drupal".
Example:
process:
another_route_field:
plugin: route
source:
- 'user/login'
-
query:
destination: 'node/1'
This will set another_route_field to be a route to the user login page (user/login) with a query string of "destination=node/1".
Plugin annotation
@MigrateProcessPlugin(
id = "route"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate\ProcessPluginBase implements MigrateProcessInterface
- class \Drupal\migrate\Plugin\migrate\process\Route implements ContainerFactoryPluginInterface
- class \Drupal\migrate\ProcessPluginBase implements MigrateProcessInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of Route
See also
\Drupal\migrate\Plugin\MigrateProcessInterface
1 file declares its use of Route
- RouteTest.php in core/
modules/ migrate/ tests/ src/ Kernel/ process/ RouteTest.php
3 string references to 'Route'
- core.data_types.schema.yml in core/
config/ schema/ core.data_types.schema.yml - core/config/schema/core.data_types.schema.yml
- RouteCacheContext::getLabel in core/
lib/ Drupal/ Core/ Cache/ Context/ RouteCacheContext.php - Returns the label of the cache context.
- tour.schema.yml in core/
modules/ tour/ config/ schema/ tour.schema.yml - core/modules/tour/config/schema/tour.schema.yml
File
- core/
modules/ migrate/ src/ Plugin/ migrate/ process/ Route.php, line 58
Namespace
Drupal\migrate\Plugin\migrate\processView source
class Route extends ProcessPluginBase implements ContainerFactoryPluginInterface {
/**
* The path validator service.
*
* @var \Drupal\Core\Path\PathValidatorInterface
*/
protected $pathValidator;
/**
* {@inheritdoc}
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, PathValidatorInterface $path_validator) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->migration = $migration;
$this->pathValidator = $path_validator;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
return new static($configuration, $plugin_id, $plugin_definition, $migration, $container
->get('path.validator'));
}
/**
* {@inheritdoc}
*
* Set the destination route information based on the source link_path.
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
if (is_string($value)) {
$link_path = $value;
$options = [];
}
else {
[
$link_path,
$options,
] = $value;
}
$extracted = $this->pathValidator
->getUrlIfValidWithoutAccessCheck($link_path);
$route = [];
if ($extracted) {
if ($extracted
->isExternal()) {
$route['route_name'] = NULL;
$route['route_parameters'] = [];
$route['options'] = $options;
$route['url'] = $extracted
->getUri();
}
else {
$route['route_name'] = $extracted
->getRouteName();
$route['route_parameters'] = $extracted
->getRouteParameters();
$route['options'] = $extracted
->getOptions();
if (isset($options['query'])) {
// If the querystring is stored as a string (as in D6), convert it
// into an array.
if (is_string($options['query'])) {
parse_str($options['query'], $old_query);
}
else {
$old_query = $options['query'];
}
$options['query'] = $route['options']['query'] + $old_query;
unset($route['options']['query']);
}
$route['options'] = $route['options'] + $options;
$route['url'] = NULL;
}
}
return $route;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
MessengerTrait:: |
protected | property | The messenger. | 16 |
MessengerTrait:: |
public | function | Gets the messenger. | 16 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | |
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 | ||
PluginBase:: |
public | function | ||
PluginBase:: |
public | function | 1 | |
PluginBase:: |
public | function | ||
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
ProcessPluginBase:: |
public | function |
Indicates whether the returned value requires multiple handling. Overrides MigrateProcessInterface:: |
3 |
Route:: |
protected | property | The path validator service. | |
Route:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
Route:: |
public | function |
Set the destination route information based on the source link_path. Overrides ProcessPluginBase:: |
|
Route:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 3 |
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. | 1 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |