How To Add a Export Script¶
LFS provides a generic export engine for products (see here for more). In this tutorial you will learn how to create your own scripts to format the data like you want to.
If you don’t have a working LFS instance yet, you can just use our demo shop at http://demo.getlfs.com. Please be aware that we reset the database every two hours.
In order to create a new export script you should first create a new Django application (or use an existing one). This is beyond this tutorial. If you do not know how to do this, please refer to the excellent Django tutorial.
Within the __init__.py of your application create a function that will return the products, like so:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
# python imports import csv # django imports from django.http import HttpResponse from django.core.mail import send_mail # lfs imports from lfs.export.utils import register def export(request, export): """Export method for acme.com """ response = HttpResponse(mimetype="text/csv") response["Content-Disposition"] = "attachment; filename=acme.txt" writer = csv.writer(response, delimiter=";", quotechar='"', quoting=csv.QUOTE_ALL) for product in export.get_products(): writer.writerow(product.id, product.get_name()) return response register(export, "acme.com")
The code explained
- Some simple Python and Django imports. These may vary for your code.
- Imports the register method to register your script.
- The function which will contain your code to create the exported data.
- We decided to give a response with a download back. Your code may vary here.
- We decided to use Python csv modules. You code may vary here.
- All selected products can be get with the
get_productsmethod of the passed export object.
- The registration of your function. This line must be called while Django is starting up.