Configuring Downloadable Products
page last edited on 08 January 2019
Adding Downloadable Products
Adding a downloadable product is similar to adding a regular non-downloadabe one. The only difference is that when you configure a downloadable product you must assign one or more downloadable files to it and, as the product will not require physical shipping, disable shipping for it.
Here’s how to configure a downloadable product from the store back end (Admin area or - in the case of X-Cart Multivendor - Vendor area):
Create a new product or find an existing product that you wish to turn into a downloadable one.
On the Info tab of the Product details, locate the section Shipping and disable shipping for the product. Be sure to save your changes.
Go to the Attachments tab and click Add file:
You can upload files from your local computer, from your local server or via an external URL.
For example, it is possible to use a shareable URL pointing to a file in a storage like One Drive, DropBox, or Google Drive.
If you have configured a connection to Amazon S3 for E-goods, you can use an Amazon S3 URL as an attachment file location. In this case, the file will not be uploaded to your X-Cart store server; instead, your customers will be provided with a link to the file on Amazon S3. Instructions for how to create a downloadable product with an attachment stored on Amazon S3 are available.
Once the file has been uploaded to the X-Cart server or linked to on Amazon S3, it will be added to the list of attachments for the product.
If necessary, you will be able to delete or change the attachment file at any time later.
Adjust the file settings as you require. See Managing Downloadable Product Attachments. Be sure to save your changes.
Managing Downloadable Product Attachments
Attachments associated with a downloadable product can be managed via the Attachments tab of the product details:
Add more than one attachment for a single product: To add another attachment, use the Add file button.
Change the title and description of your attachment: Click anywhere within the respective fields, and they will become editable.
Change the attachment file (or the location of the file): Use the […] button to access the respective menu.
Delete the attachment using the Delete (“Trash”) button.
Use the Download (“down arrow”) button to download the attachment file.
Use the Free/Paid switch to specify whether the attachment file should be available to anyone who wants to access it, or only to the buyers of the product who have paid for their order. Note that for files with “Paid” access you can set the number of downloads and the number of days that the buyer should be able to access them; this, however, is done not on a per-attachment basis, but globally for your entire stock of products with paid attachments via the settings “Download link TTL (days)” and “Downloads limit (per 1 ordered item)” on your X-Cart store’s E-goods addon settings page. Should you need to prolong access to an attachment for a specific customer, you will want to reset these values for the attachment in the customer’s order (on the E-goods tab of the Order details page; see the section Processing Orders for Downloadable Products for instructions on how to do it).
Use the Membership dropdown box to specify the membership-based group of customers who should be able to access the file.
Drag-n-drop attachments to change the order in which they are shown on the page.
Be sure to click Save changes to save any changes of the attachment details you have made.
Cloning Downloadable Products
When you clone a downloadable product, the contents of the Attachments tab of the product from which a clone is created is copied to the clone product. As a result, you get two products using the same file attachment(s). If necessary, you can then edit the file attachments for the clone product (replace the files, adjust the Free / Paid access settings, adjust the availability of the files to different membership levels, and the like), or just keep the original files and their settings if you wish to re-use them. For information on product cloning, see the section Cloning Products.
Adding/Updating Downloadable Products by Import
It is possible to create and/or update downloadable products using the CSV import feature. Here’s how to do it:
Prepare the files that will be used as downloadable attachments for the products that you are going to import:
If you are going to store your file attachments on your X-Cart store server, upload your attachment files to the folder <XCART-DIRECTORY>/files/attachments/. For better organization of the file structure, you may prefer to use a subfolder like <XCART-DIRECTORY>/files/attachments/[product_id]. As an alternative, it is also possible to put the files in the folder <XCART-DIRECTORY>/var/import, or its subfolders. (The ability to use this folder was implemented for compatibility with older X-Cart versions. Any files that will be imported from this folder will be automatically copied to a folder like <XCART-DIRECTORY>/files/attachments/[product_id] during import). You may want to use FTP to transfer the files to the above specified folders from a local computer.
If the files you need to import are located on another website available over the Internet, you do not have to upload them to your X-Cart server manually; to import such files, you will need to specify their location in the import CSV file as a URL, and they will be uploaded to the folder <XCART-DIRECTORY>/files/attachments/ automatically during the import process.
If you are going to store your attachments on Amazon S3, upload the files to Amazon S3 and have the file URLs on Amazon S3 at hand.
Prepare a products CSV file with information about the products and downloadable attachments that you wish to import . Depending on your needs and your store configuration, you may require a different set of fields to format the data in your CSV file. For a detailed reference on the format of the fields in a CSV file for product import, see the section CSV Import: Products. Make sure your resulting file meets the requirements of RFC 4180 standard.
At the minimum, your CSV file for the import of downloadable products will need to include the following information:
- Information required to properly identify a product (the fields sku, name).
- Information about the downloadable files to be associated with the said sku and product name (the fields pertaining to the File attachments addon: attachments, attachmentsTitle and attachmentsDescription).
- Information as to whether access to the said downloadable files should be free for all visitors or should only be provided to the buyers who have purchased the product and paid for their order (the field pertaining to the E-goods addon: attachmentsPrivate).
Note that the attachment file location may be specified in the attachments field either as a URL or as a local path. For a file stored on Amazon S3, this should be specified simply as the file URL on Amazon S3.
Here’s an example of a CSV file for the import of a product (SKU 12026 Ollie - The App Controlled Robot) with a free downloadable attachment (Ollie User Manual):
In your X-Cart store Admin area, go to the section Catalog > Import, select the CSV file you have prepared for import, specify the import settings as you require and click Start import to upload your import CSV file.
As a result of import:
- A file that has been uploaded onto the X-Cart server to a folder within <XCART-DIRECTORY>/files/attachments/ will remain in the same folder. Its filepath will be linked to the product as the attachment file location.
- A file from an external URL (other than Amazon S3) will be uploaded automatically to a folder like <XCART-DIRECTORY>/files/attachments/[product_id]. The path to the file within the <XCART-DIRECTORY>/files/attachments/[product_id] folder will be linked to the product as the attachment file location.
- A file on Amazon S3:
- If your store has been properly configured to use Amazon S3 for E-goods, the Amazon S3 URL of the file will be linked to the product in your store as the attachment file location URL; the file itself will not be uploaded to your X-Cart store server.
- If your store has not been configured to use Amazon S3 for E-goods, X-Cart will upload the file to <XCART-DIRECTORY>/files/attachments/[product_id].
Help make this document better
This guide, as well as the rest of our docs, are open-source and available on GitHub.