protected function ProductVariationWidgetBase::getDefaultVariation in Commerce Core 8.2
Gets the default variation for the widget.
Parameters
\Drupal\commerce_product\Entity\ProductInterface $product: The product.
array $variations: An array of available variations.
Return value
\Drupal\commerce_product\Entity\ProductVariationInterface The default variation.
2 calls to ProductVariationWidgetBase::getDefaultVariation()
- ProductVariationAttributesWidget::formElement in modules/
product/ src/ Plugin/ Field/ FieldWidget/ ProductVariationAttributesWidget.php - Returns the form for a single field widget.
- ProductVariationTitleWidget::formElement in modules/
product/ src/ Plugin/ Field/ FieldWidget/ ProductVariationTitleWidget.php - Returns the form for a single field widget.
File
- modules/
product/ src/ Plugin/ Field/ FieldWidget/ ProductVariationWidgetBase.php, line 147
Class
- ProductVariationWidgetBase
- Provides the base structure for product variation widgets.
Namespace
Drupal\commerce_product\Plugin\Field\FieldWidgetCode
protected function getDefaultVariation(ProductInterface $product, array $variations) {
$langcode = $product
->language()
->getId();
$selected_variation = $this->variationStorage
->loadFromContext($product);
$selected_variation = $this->entityRepository
->getTranslationFromContext($selected_variation, $langcode);
// The returned variation must also be enabled.
if (!in_array($selected_variation, $variations)) {
$selected_variation = reset($variations);
}
return $selected_variation;
}