class CommercePrice in Commerce Migrate 3.0.x
Same name in this branch
- 3.0.x modules/magento/src/Plugin/migrate/process/CommercePrice.php \Drupal\commerce_migrate_magento\Plugin\migrate\process\CommercePrice
- 3.0.x modules/csv_example/src/Plugin/migrate/process/CommercePrice.php \Drupal\commerce_migrate_csv_example\Plugin\migrate\process\CommercePrice
- 3.0.x modules/shopify/src/Plugin/migrate/process/CommercePrice.php \Drupal\commerce_migrate_shopify\Plugin\migrate\process\CommercePrice
- 3.0.x modules/commerce/src/Plugin/migrate/process/commerce1/CommercePrice.php \Drupal\commerce_migrate_commerce\Plugin\migrate\process\commerce1\CommercePrice
- 3.0.x modules/commerce/src/Plugin/migrate/field/commerce1/CommercePrice.php \Drupal\commerce_migrate_commerce\Plugin\migrate\field\commerce1\CommercePrice
Same name and namespace in other branches
- 8.2 modules/commerce/src/Plugin/migrate/process/commerce1/CommercePrice.php \Drupal\commerce_migrate_commerce\Plugin\migrate\process\commerce1\CommercePrice
- 3.1.x modules/commerce/src/Plugin/migrate/process/commerce1/CommercePrice.php \Drupal\commerce_migrate_commerce\Plugin\migrate\process\commerce1\CommercePrice
Scales the price from Commerce 1 to Commerce 2.
This plugin is put in the pipeline by field migration for fields of type 'commerce_price'. It is also used in the product variation migration and the order item migration.
The commerce_price process plugin is put in the pipeline by field migrations for fields of type 'commerce_price'. It is also used in the product variation migration and the order item migration.
This plugin is used to convert the Commerce 1 price array to a Commerce 2 price array. The source value is an associative array with keys, 'amount', 'currency_code' and 'fraction_digits'.
Input array::
- amount: The price number
- currency_code: The currency code.
- fraction_digits: The number of fraction digits for this given currency.
Returned array::
- number: The converted price number
- currency_code: The currency code.
An empty array is returned for all errors.
plugin: commerce1_migrate_commerce_price
source: commerce1_price_array
When input the input is [ 'amount' => '123', 'currency_code' => 'NZD', 'fraction_digits' => 3, ]; The output is [ 'number' => '0.123', 'currency_code' => 'NZD', ];
Plugin annotation
@MigrateProcessPlugin(
id = "commerce1_migrate_commerce_price"
)
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\commerce_migrate_commerce\Plugin\migrate\process\commerce1\CommercePrice
- class \Drupal\migrate\ProcessPluginBase implements MigrateProcessInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of CommercePrice
1 file declares its use of CommercePrice
- CommercePriceTest.php in modules/
commerce/ tests/ src/ Unit/ Plugin/ migrate/ process/ commerce1/ CommercePriceTest.php
File
- modules/
commerce/ src/ Plugin/ migrate/ process/ commerce1/ CommercePrice.php, line 58
Namespace
Drupal\commerce_migrate_commerce\Plugin\migrate\process\commerce1View source
class CommercePrice extends ProcessPluginBase {
/**
* {@inheritdoc}
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
if (!is_array($value)) {
throw new MigrateSkipRowException(sprintf("CommercePrice input is not an array for destination '%s'", $destination_property));
}
// If the destination is a unit price then use the base price component, if
// if it is available.
if ($destination_property && strpos('unit_price', (string) $destination_property) !== FALSE) {
if (isset($value['data']['components'])) {
foreach ($value['data']['components'] as $component) {
if ($component['name'] === 'base_price') {
$value['amount'] = $component['price']['amount'];
$value['currency_code'] = $component['price']['currency_code'];
break;
}
}
}
}
if (isset($value['amount']) && isset($value['currency_code']) && isset($value['fraction_digits']) && $value['fraction_digits'] >= 0) {
$new_value = [
'number' => Calculator::divide($value['amount'], bcpow(10, $value['fraction_digits'])),
'currency_code' => $value['currency_code'],
];
}
else {
throw new MigrateSkipRowException(sprintf("CommercePrice input array is invalid for destination '%s'", $destination_property));
}
return $new_value;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CommercePrice:: |
public | function |
Performs the associated process. Overrides ProcessPluginBase:: |
2 |
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
MessengerTrait:: |
public | function | Sets the messenger. | |
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:: |
2 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 98 |
ProcessPluginBase:: |
public | function |
Indicates whether the returned value requires multiple handling. Overrides MigrateProcessInterface:: |
3 |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
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 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |