class Concat in Drupal 10
Same name and namespace in other branches
- 8 core/modules/migrate/src/Plugin/migrate/process/Concat.php \Drupal\migrate\Plugin\migrate\process\Concat
- 9 core/modules/migrate/src/Plugin/migrate/process/Concat.php \Drupal\migrate\Plugin\migrate\process\Concat
Concatenates a set of strings.
The concat plugin is used to concatenate strings. For example, imploding a set of strings into a single string.
Available configuration keys:
- delimiter: (optional) A delimiter, or glue string, to insert between the strings.
Examples:
process:
new_text_field:
plugin: concat
source:
- foo
- bar
This will set new_text_field to the concatenation of the 'foo' and 'bar' source values. For example, if the 'foo' property is "Rosa" and the 'bar' property is "Parks", new_text_field will be "RosaParks".
You can also specify a delimiter.
process:
new_text_field:
plugin: concat
source:
- foo
- bar
delimiter: /
This will set new_text_field to the concatenation of the 'foo' source value, the delimiter and the 'bar' source value. For example, using the values above and "/" as the delimiter, if the 'foo' property is "Rosa" and the 'bar' property is "Rosa", new_text_field will be "Rosa/Parks".
Plugin annotation
@MigrateProcessPlugin(
id = "concat",
handle_multiples = TRUE
)
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\Concat
- class \Drupal\migrate\ProcessPluginBase implements MigrateProcessInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of Concat
See also
\Drupal\migrate\Plugin\MigrateProcessInterface
2 files declare their use of Concat
- ConcatTest.php in core/
modules/ migrate/ tests/ src/ Unit/ process/ ConcatTest.php - Contains \Drupal\Tests\migrate\Unit\process\ConcatTest.
- ExplodeTest.php in core/
modules/ migrate/ tests/ src/ Unit/ process/ ExplodeTest.php
File
- core/
modules/ migrate/ src/ Plugin/ migrate/ process/ Concat.php, line 59
Namespace
Drupal\migrate\Plugin\migrate\processView source
class Concat extends ProcessPluginBase {
/**
* {@inheritdoc}
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
if (is_array($value)) {
$delimiter = $this->configuration['delimiter'] ?? '';
return implode($delimiter, $value);
}
else {
throw new MigrateException(sprintf('%s is not an array', var_export($value, TRUE)));
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Concat:: |
public | function |
Performs the associated process. Overrides ProcessPluginBase:: |
|
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
MessengerTrait:: |
protected | property | The messenger. | 18 |
MessengerTrait:: |
public | function | Gets the messenger. | 18 |
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 | 2 | |
PluginBase:: |
public | function | ||
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 53 |
ProcessPluginBase:: |
public | function |
Indicates whether the returned value requires multiple handling. Overrides MigrateProcessInterface:: |
3 |
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. |