Akeneo: создайте новую группу вариантов с атрибутами
Я хочу создать новую группу вариантов в Akeneo с некоторыми фиксированными атрибутами, чтобы "имитировать" поведение семейства продуктов. К сожалению, я не знаю, как получить ProductTemplate
с некоторыми атрибутами с пустыми значениями.
Когда я попробовал свой код ниже, я получаю сообщение об ошибке после открытия созданной группы вариантов в графическом интерфейсе Akeneo:
Error: Option "attributes" must only contains instances of "Pim\Bundle\CatalogBundle\Entity\Attribute", got "Pim\Bundle\EnrichBundle\Form\Type\AvailableAttributesType"
Мой код выглядит так:
$groupType = $this->groupManager
->getGroupTypeRepository()
->findOneBy(['code' => 'VARIANT']);
$group = $this->groupFactory->createGroup($groupType);
$group->setCode('MY_VARIANT_GROUP');
$attributes = array($this->attributeRepository->findOneByIdentifier('AXIS_ATTRIBUTE'));
$group->setAxisAttributes($attributes);
// ??? How can I create a new product value?
$productValue1 = new ProductValue();
$productValue1->setId('PREDEFINED_ATTRIBUTE1');
$productValue1->setAttribute($this->attributeRepository->findOneByIdentifier('PREDEFINED_ATTRIBUTE1'));
$productTemplate = new ProductTemplate();
$productTemplate->setValuesData(array($productValue1));
$group->setProductTemplate($productTemplate);
$this->groupSaver->save($group);
1 ответ
Решение
Я советую вам использовать Pim\Bundle\CatalogBundle\Builder\ProductTemplateBuilder
создавать и добавлять атрибуты в шаблон вашего продукта.
Это обеспечит правильное создание шаблона продукта с пустыми значениями продукта.