< Back
Print

Export simple products

Job configuration

Create a new job inside the station overview and name it “products” or “export products”.


Choose your datamap the job will reload.
Change the job actions to transfer products and transfer media.

Add your root node again.

Enable the “load additional Objects” setting.

Add products to CONTENTSERV Channel tree

There is a wiki page which explains this process in detail.

The assignments of products into categories will be handles via “the SC::Channel table”.
Select the products you want to transfer inside of the CONTENTSERVs list view for products.
Rightclick and select “SC::Channel mass edit “.

You will have to select the mapped SC::Channel for the datamap, for the language default in our template, is “en_en”.
Choose the categories you want the products to appear in.
Confirm.

Your products should now have a new entry the SC::Channel table, this links them to your Channel tree.

Datamap configuration

Open the “upsertproduct – Produkte anlegen” section.


Don’t touch the “Varianten anlegen” section, we will be covering variants in another section.

 

Mandatory fields

The following datamap configurations are not optional. The product won’t be able to be created without them.

id

This is the Shopware ID for your CONTENTSERV product. Every time you reference another product, for example cross-selling you will have to use the same format as here.
You can keep this as is.

taxId

This is a reference to a Shopware tax rate. Earlier we imported those. Depending on your CONTENTSERV products you have different options to assign a taxId.

Option 1:

All your products have the same tax rate.
In that case, you can change the configuration to “send fixed station value” and select your tax rate.

Option 2:

Your products have different tax rates, and you have a CONTENTSERV attribute, which tells you the tax rate.

Select the tax rate CONTENTSERV attribute as the source and click the cogwheel.

Follow the link.

Enter you tax rate mapping.

Option 3:

Your products have different tax rates, and you don’t have a CONTENTSERV attribute which tells you the tax rate. But every tax rate group corresponds to a CONTENTSERV class.

Select ClassMapping as the source and click the cogwheel.

Follow the link.

Click the wrench icon.

Change tax rates to CONTENTSERV class.

Close the window and map your classes to Shopwares tax rates

name

The product name should be a translatable attribute if you are planning to export multiple languages.
You can keep Label for now, unless you have a more accurate attribute

stock

The number of times the product can be bought. We will cover this in its section. For now, you don’t have to touch this row. By default, we will send a dummy amount.

price

We will cover this in its section. By default, we will send a dummy price. However, there is some configuration to do.
Because every price needs a reference to a Shopware currency, we will have to map those.
Open the Station settings.

Select the Shopware VIx values tab.
Navigate to currencies.

Select your default Shopware 6 currency. (or Euro for now)

Select EUR as the source value.

productNumber

You will probably have a CONTENTSERV attribute for this, if not just select PdmarticleId as the source.

Save the datamap.

First product export

Navigate to the station overview and select your product job.

Run the job in the development editor.

In my case, the upload media attribute “images” for the row cover was maintained for products as well. So we already got our product covers uploaded.
If no errors occurred check your Shopware backend.

 

Optional fields

We successfully imported basic product data into Shopware, however, there are many more options/fields to enrich our products.

The following section describes some of the optional fields, some might even have their section in this manual.

We strongly recommend to enable and configure one field at a time and run the job again. This way you can confirm your configuration was correct.

 

visibilities

If you checked your Shopware front end, you might have noticed, that our products don’t appear yet. The reason for this is, a single Shopware product can exist in multiple Sale Channel simultaneously. So it is not enough to just map a category, we need to map the sales channel as well.

Remember when we added the products via the Massedit dialog? We had to choose a Sales channel (en_en). We are now gonna map this sales channel to your Shopware Sales Channel.

Open the ShopwareVIx values inside the station settings and open Sale Channels

Since we are exporting Storefront right now, map en_en to Storefront.

Now enable the row “visibilities” and save the datamap.
If you run the export again your products should have the visibility field correctly mapped.

 

categories

Our products are now in Shopware, but they haven’t been mapped to their respective categories. After this step, your products will appear in the front-end.

Enable the row and enjoy it.

cover

The products are now visible and in the right categories but the cover image is missing.

Enable the row “cover”.

Use the same procedure as with the category cover. Meaning map your CONTENTSERV “product cover attribute” to the “cover” row.

Map the same attribute inside the upsertMedia section for the row productCover.

 

Save the datamap, run the job again, and check your result.

 

media

A Shopware product can have multiple images or pdfs. We just uploaded the covers, and for the rest of the media, we can use the same process, just with the “media” field.

 

You can upload pdfs in this way as well, though you cant display pdfs via the product media field. A custom plugin is needed or you will have to dynamically create HTML links in your description.

description

Just map your CONTENTSERV product description attribute, enable the row, and hit play.

 

There are many more optional fields, too many to cover right now.

If there is a field you want to map, look though the Shopware 6 Definitions on how to address the set field.

With the help of our many formatting options, everything should be possible.

 

Was this article helpful?
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.
Table of Contents