首页  >  问答  >  正文

如何使用Admin API在Shopware 6中创建带有媒体的产品?

如何使用 Shopware 6 Admin API PHP SDK 创建带有媒体的产品?

Shopware 6 管理 API PHP SDK

我知道如何使用以下代码片段创建产品。

$productRepository->create([
    'id' => Uuid::randomHex(),
    'name' => 'New Product',
    'taxId' => $product->taxId,
    'price' => $product->price,
    'productNumber' => $product->productNumber . random_int(10, 1000),
    'stock' => $product->stock,
    'media' => $product->media, //Not working
], $context);

以及如何从包含以下代码片段的 URL 上传媒体。

$mediaService->uploadMediaFromUrl($mediaId, $url, 'jpg', 'test-media');

但是我如何将媒体添加到产品中?

P粉715228019P粉715228019308 天前450

全部回复(1)我来回复

  • P粉399090746

    P粉3990907462024-01-08 22:48:34

    media 关联是 product_media 实体的集合,充当到 media 实体的映射。上传文件以根据网址创建 media 实体后,您可以在创建产品时使用该 ID 创建 product_media 映射。

    $mediaService->uploadMediaFromUrl($mediaId1, $url, 'jpg', 'foo');
    $mediaService->uploadMediaFromUrl($mediaId2, $url, 'jpg', 'bar');
    
    $productRepository->create([
        // ...
        'media' => [
            [
                'position' => 1,
                'mediaId' => $mediaId1,
            ],
            [
                'position' => 2,
                'mediaId' => $mediaId2,
            ],
        ],
    ], $context);
    

    回复
    0
  • 取消回复