Image 1 of 1

Variant Bulk Update

Product information

By Pinelab

Update prices of all variants for a product

npm install @pinelab/vendure-plugin-variant-bulk-update
Support by
Support languages
en
nl
Integration type
Partner
Category
Admin tools
Compatible with
>=2.2.0
Latest version
1.3.1
Last published
Jul 24, 2024
Downloads in past month
324

Vendure Plugin for bulk updating all variants of a product

Official documentation here

Tiny plugin that allows you to update the prices and/or custom fields of all variants for a given product. Useful for when all your variants have the same price for example.

Bulk updating price

This example shows you how to update the price of all variants of a product. E.g. updating the price of a product to €10, will set the price of all it’s variants to €10. This setup needs a DB migration, because it adds a custom field to Product.

  1. Add the plugin config to your vendure-config.ts:
import {VariantBulkUpdatePlugin} from '@pinelab/vendure-plugin-variant-bulk-update';

plugins: [
        VariantBulkUpdatePlugin.init({
          // Allow bulk updating of price
          enablePriceBulkUpdate: true,
          // This example doesn't update any custom fields
          bulkUpdateCustomFields: []
        }),
  ...
];
  1. Run a database migration to add the price field on a product.
  2. Start Vendure, login and go to a product.
  3. Set the field price of a product to €300 and save the product.
  4. All variants of the product will now be €300.

If you only want to update variants once, you should clear the product.customFields.price field again. When the price field has a value, and a product is updated, all variants will be updated again.

The bulk update is async, so you might need to refresh your product page to see the updated variants.

Bulk updating custom fields

This example shows you how to bulk update any custom field on all variants of a product. This example uses the custom field noLongerAvailable, but it can be any custom field.

  1. Make sure you have a custom field noLongerAvailable configured on both the Product and ProductVariant
  2. Add the plugin to your config
import {VariantBulkUpdatePlugin} from '@pinelab/vendure-plugin-variant-bulk-update';

plugins: [
        VariantBulkUpdatePlugin.init({
          enablePriceBulkUpdate: false,
          bulkUpdateCustomFields: ['noLongerAvailable']
        }),
  ...
];
  1. Start the server, and set a product’s noLongerAvailable to true.
  2. All variants should now also have noLongerAvailable=true;

The bulk update is async, so you might need to refresh your product page to see the updated variants.

Vendure
Get started

Create your first commerce experience with Vendure in less than 2 minutes

Vendure is a registered trademark. Our trademark policy ensures that our brand and products are protected. Feel free to reach out if you have any questions about our trademarks.

Newsletter

Get the latest product news and announcements delivered directly to your inbox.

© Copyright 2022 - 2024, Vendure GmbH. All rights reserved.