Как импортировать продукты с вариациями в Shopware 6Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как импортировать продукты с вариациями в Shopware 6

Сообщение Anonymous »

Я пытаюсь импортировать продукты из XML с вариантами.
Импорт продуктов пока работает, но варианты не создаются.
Вот мой код (упрощенный):

Код: Выделить всё

    /**
* @return int
* @throws \Exception
*/
public function execute()
{
// avoid reaching memory limit
ini_set('memory_limit', '-1');

// set tax id
$this->setTaxId();
if (empty($this->taxId)) {
return 1;
}

// read products from import xml file
$importProducts = $this->loadProducts();
$csvBatch = array_chunk($importProducts, self::BATCH);
$productNumbers = [];

foreach ($csvBatch as $products) {
$productNumbers[] = $this->processImportProducts($products, false);
}

$this->deleteProducts(array_merge(...$productNumbers));

return 0;
}

/**
* @param $productsData
* @param $progressBar
* @return array
*/
private function processImportProducts($productsData, $progressBar)
{
$products = [];
$productNumbers = [];

foreach ($productsData as $product) {
$products[$product['SKU']['@cdata']] = $this->importProducts($product, $progressBar);
$productNumbers[] = $product['SKU']['@cdata'];
}

// upsert product
try {
$this->cleanProductProperties($products, $this->context);
$this->productRepository->upsert(array_values($products), $this->context);
} catch (WriteException $exception) {
$this->logger->info(' ');
$this->logger->info('Products could not be imported. Message: '. $exception->getMessage() .'');
}
unset($products);

return $productNumbers;
}

/**
* @param $product
* @param $progressBar
* @return array
*/
private function importProducts($product, $progressBar)
{
...

$productData = [
'id' => $productId,
'productNumber' => $productNumber,
'price' => [
[
'currencyId' => Defaults::CURRENCY,
'net' => !empty($product['net']) ? $product['net'] : 0,
'gross' => !empty($product['net']) ? $product['net'] : 0,
'linked' => true
]
],
'stock' => 99999,
'unit' => [
'id' => '3fff95a8077b4f5ba3d1d2a41cb53fab'
],
'unitId' => '3fff95a8077b4f5ba3d1d2a41cb53fab',
'taxId' => $this->taxId,
'name' => $productNames,
'description' => $productDescriptions
];

if(isset($product['Variations'])) {
$variationIds = $product['Variations']['@cdata'] ?? '';
$productData['variation'] = [$this->getProductVariationIds($variationIds)];
}

return $productData;
}

/**
* Get product variation ids
*
* @param string $productVariations
* @return string
*/
private function getProductVariationIds($productVariations)
{
$productVariationIds = explode(',', $productVariations);
// get product variationIds in form of a string list
$ids = $this->productRepository->search(
(new Criteria())->addFilter(new EqualsAnyFilter('productNumber', $productVariationIds)),
$this->context
)->getIds();

return implode(',', $ids);
}
Идентификаторы загружаются правильно, но ничего не происходит. Тоже без ошибок.
Есть идеи, как импортировать варианты?

Подробнее здесь: https://stackoverflow.com/questions/746 ... shopware-6
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с вариациями продукта после переноса данных
    Anonymous » » в форуме Php
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Какой тип графика использовать для данных, подобных тепловой карте, с вариациями?
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Какой тип графика использовать для данных, подобных тепловой карте, с вариациями?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Плагин Shopware 6: значение конфигурации неверно после обновления из-за удаления ключа конфигурации
    Гость » » в форуме Php
    0 Ответы
    70 Просмотры
    Последнее сообщение Гость
  • Shopware 6: установка носителя с продуктом
    Anonymous » » в форуме Php
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»