File structure

The file structure for images and videos can get dynamic and then depends on the roles to which an image must get assigned.

For example, if only one image with the role base is imported, the column base_image is adequate.

For each additional role to which an image is to get assigned, the additional columns are necessary, either it is it the same image or not

Column Name Type Example Description

<role>_image

varchar

/m/b/mb01-blue-0.jpg

The relative path to the image, starting with a slash ( / ).

<role>_image_label

varchar

This is my image

The image label used as alt text.

<role>_image_position

integer

1

The position the image should get rendered in the admin backend and frontend.

additional_images

varchar

/m/b/mb01-blue-0.jpg,/m/b/mb01-blue-1.jpg,/m/b/mb01-blue-2.jpg

This column must contain a comma ( , ) separated list of relative paths to images.

additional_image_labels

varchar

This is my image 1,, This is my image 2

This column must contain a comma ( , ) separated list of alt texts for the images in the column additional_attributes whereas it must exactly have the same number of elements as additional images have been specified.

additional_image_positions

integer

1,3,2

This column must contain a comma ( ,) separated list positions for the images in the column additional_attributes whereas it must exactly have the same number of elements as additional images have been specified.

<role>_video

text

https://youtu.be/AzXrs1c92RY

The URL to the video should get loaded, by default, only videos from YouTube (needs an API key) or Vimeo are supported.

<role>_video_title

varchar(255)

Pacemaker Product Import

The title will get displayed on top of the video on the product detail page when the user hovers over the video.

<role>_video_description

text

This video shows a simple Pacemaker Import Community product import in a Magento 2 shop instance.

A description of the video which will display in the admin backend only.

<role>_video_provider

varchar(32)

YouTube

The name of the video provider, is either YouTube or Vimeo.

<role>_video_metadata

text

Pacemaker

Additional metadata for the video that will display in the Admin backend only.

additional_videos

varchar

https://youtu.be/AzXrs1c92RY,https://vimeo.com/GxXrs1c92BY

This column must contain a comma ( , ) separated list of URLs to additional videos that should be loaded.

additional_video_titles

varchar(255)

Pacemaker product import, A second video about product import

This column must contain a comma ( , ) separated list of titles for the videos in the column additional_videos whereas it must exactly have the same number of elements as additional videos have been specified.

The title will be displayed above the video on the product detail page if a user hovers over the video.

additional_video_descriptions

text

Pacemaker product import,A second video about product import

This column must contain a comma ( , ) separated list of descriptions for the videos in the column additional_videos whereas it must exactly have the same number of elements as additional videos have been specified.

  • The descriptions will display in the admin backend only.

additional_video_providers

varchar(32)

YouTube, Vimeo

This column must contain a comma ( , ) separated list of provides for the videos in the column additional_videos whereas it must exactly have the same number of elements as additional videos have been specified. One of YouTube or Vimeo can be used.

additional_video_metadata

text

YouTube, Vimeo

This column must contain a comma ( , ) separated list of metadata for the videos in the column additional_videos whereas it must exactly have the same number of elements as additional videos have been specified.

  • The metadata will display in the admin backend only.

hide_from_product_page

varchar

/m/b/mb01-blue-0.jpg,/m/b/mb01-blue-2.jpg

Contains a comma ( , ) separated list of the relative image paths that should not get rendered on the product detail page, whereas it doesn’t matter if it is an image with a role or one of the additional images.

disabled_images

varchar

/m/b/mb01-blue-0.jpg,/m/b/mb01-blue-2.jpg

Contains a comma ( , ) separated list of the relative image paths that should not get rendered anywhere, whereas it doesn’t matter if it is an image with a role or one of the additional images.

If you currently want to import videos to the additional_videos column (which is almost always the case if videos are not base, small, or thumbnail), the corresponding preview images at the additional_images column must get placed first because the index of the pictures gets used to assign the videos in the additional_videos column.

Table 1. Example:
Column Value

additional_images

/a/z/AzXrs1c92RY.jpg,/m/b/mb03-black-0_alt1.jpg

additional_videos

https://youtu.be/AzXrs1c92R

During the import process, when the additional_videos column gets unpacked, the value gets assigned based on its index, i.e., the video with the URL https://youtu.be/AzXrs1c92RY has index 0 and as follows assigned to the image with index 0 in the addtional_images column, i.e. the image /a/z/AzXrs1c92RY.jpg.

If the pictures in the column additional_images would now get reversed, i.e. /m/b/mb03-black-0_alt1.jpg,/a/z/AzXrs1c92RY.jpg then the video would get wrongly assigned to the image /m/b/mb03-black-0_alt1.jpg.

  • The preview images of the videos must be placed in the additional_image column first; otherwise, the assignment will not work.

  • The order in the additional_videos column must correspond to the order of the preview images, otherwise, the transfer will not work.

The final order for the display in Admin backend and frontend can then get imported accordingly using the *_position columns.