You are here

public function BundleItemSelection::setValue in Commerce Product Bundle 8

Overrides \Drupal\Core\TypedData\TypedData::setValue().

Parameters

array|null $values: An array of property values.

Overrides FieldItemBase::setValue

File

src/Plugin/Field/FieldType/BundleItemSelection.php, line 112

Class

BundleItemSelection
Plugin implementation of the 'commerce_product_bundle_item_selection' field type.

Namespace

Drupal\commerce_product_bundle\Plugin\Field\FieldType

Code

public function setValue($values, $notify = TRUE) {

  /** @var \Drupal\commerce_product_bundle\Entity\BundleItemInterface $bundleItem */
  $bundleItem = $this->bundleItemStorage
    ->load($values['bundle_item']);
  $purchasableEntity = $this->variationStorage
    ->load($values['purchasable_entity']);
  $bundleItem
    ->setCurrentVariation($purchasableEntity);

  /** @var \Drupal\commerce_product_bundle\Entity\BundleInterface $bundle */

  /** @var \Drupal\commerce\PurchasableEntityInterface $purchasableEntity */
  parent::setValue($values, $notify);
}