presto-8.x-2.2/src/Plugin/Presto/DemoContent/CreateProductAttributeValues.php
src/Plugin/Presto/DemoContent/CreateProductAttributeValues.php
<?php
namespace Drupal\presto\Plugin\Presto\DemoContent;
use Drupal\commerce_product\Entity\ProductAttributeValue;
/**
* Creates a set of demo product attribute values.
*
* @PrestoDemoContent(
* id = "product_attribute_values",
* type = \Drupal\presto\Installer\DemoContentTypes::ECOMMERCE,
* label = @Translation("Create Drupal Commerce product attribute values"),
* weight = 2
* )
*
* @package Drupal\presto\Plugin\Presto\DemoContent
*/
class CreateProductAttributeValues extends AbstractDemoContent {
/**
* {@inheritdoc}
*
* @throws \Drupal\Core\Entity\EntityStorageException
*/
public function createContent() {
foreach ($this->getAttributeValues() as $attributeId => $values) {
foreach ($values as $value) {
$attributeValue = ProductAttributeValue::create([
'attribute' => $attributeId,
'name' => $value,
]);
$attributeValue->save();
}
}
}
/**
* Attribute value definitions.
*
* @return array[]
* Definitions.
*/
private function getAttributeValues() {
return [
'book_binding' => [
t('Paperback'),
t('Hardcover'),
],
'ebook_format' => [
t('ePub'),
t('Mobi'),
t('PDF'),
t('HTML'),
],
];
}
}
