[Update] Magento Product Datafeed Export Script
I was looking for a script that creates a simple but complete product datafeed for all my products in my Magento webshop. After a long time of searching i found this great script (see below). In order for this script to work you need to place the file in the root folder of your webspace. Then you should check if your /media/export folder has enough rights to generate the CSV. (CHMOD 777). After that, you are ready to go. Go to: http://www.myfantasticwebstore.com/thisiswhaticalledmyfile.php and the CSV will be build in your /media/export/ folder. Credits for this script goes to: turbo1. I have made some changes to the file but you can edit them offcourse. Good luck!
Update: August, 2010: I have completely rewritten the script to my own needs. This script now has an option to select which type of export you like. (XML or CSV), you can select the total export items and it has an utm_source option built in. The new Magento Datafeed Export script can be found here. Just rename the file to export.php, place it in your root en point your browser to http://mygreatwebshop.com/export.php and add some variables. E.g. http://mygreatwebshop.com/export.php?type=xml&source=m4n_affiliate_network&max=10 (Remind: if you choose to use the CSV file, don’t forget to CHMOD the media/export/ folder).
Yo dude,
Wat vet dat je ook magento doet. Doe je dat al lang, en heb je voorbeeld sites die je hebt gebouwd?
X
Lars
Welke waarden kan je allemaal exporteren met dit script?
En op welke manier moet ik dit uit de database halen?
Bijvoorbeeld de manufacturer?
Dag Edwin,
Bedankt voor je mail! Excuus voor de late reactie, ik lees je reactie zojuist pas en had de mails bij nieuwe comments tijdelijk uitschakeld ivm overload aan spam. Maar hieronder een antwoord op je vraag.
Je kunt feitelijk alle waarden exporteren, als je de variabelen maar weet. Voeg in de correcte volgorde een de manufacturer array toe:
$heading = array(‘titel’,'omschrijving’,'sku’,'ean’,'prijs’, ‘oude prijs’, ‘voorraad’,'productlink’,'afbeelding’, ‘verzendkosten’, ‘categorie’, ‘manufacturer’);
En voeg vervolgens de variabele voor manufacturer toe aan de lijst met product data arrays. Dat is volgens mij:
$product_data['manufacturer']=$product->getManufacturer();
Run het script en hij moet er bij staan.
De productlink (URL) in het csv bestand is bij elk product hetzelfde, hij pakt de url van het eerste product, iemand een idee hoe dit op te lossen is?
Dag Jarno,
Is dit met het standaard script zoals ik hem in mijn post heb gezet? Misschien kun je me jouw code toesturen, dan kijk ik er even naar. Mag hier op het blog (of naar info at rutgergroot punt nl). Ik ben dit probleem namelijk zelf nog nooit tegen gekomen.
Groet,
Rutger
Updated script for Magento 1.4.0.1
[...] is gratis, moet zelf alleen de bestanden in de juiste mappen zetten, zie [Update] Magento Product Datafeed Export Script | Rutger Groot Antwoord met Citaat + Reply to Thread « Aantal producten [...]
Ik heb een nieuwe shop magento 1.4.0.1 aangemaakt en heb daar 5 andere shops aan gekoppeld, als ik nu het script uitvoer krijg ik de volgende foutmelding:
Fatal error: Uncaught exception ‘Mage_Core_Model_Store_Exception’ in /home/netwerk/domains/netwerkdiscount.com/public_html/app/code/core/Mage/Core/Model/App.php:1228 Stack trace: #0 /home/netwerk/domains/netwerkdiscount.com/public_html/app/code/core/Mage/Core/Model/App.php(760): Mage_Core_Model_App->throwStoreException() #1 /home/netwerk/domains/netwerkdiscount.com/public_html/app/Mage.php(322): Mage_Core_Model_App->getStore(NULL) #2 /home/netwerk/domains/netwerkdiscount.com/public_html/app/Mage.php(334): Mage::getStoreConfig(‘web/url/use_sto…’, NULL) #3 /home/netwerk/domains/netwerkdiscount.com/public_html/app/code/core/Mage/Core/Controller/Request/Http.php(196): Mage::getStoreConfigFlag(‘web/url/use_sto…’) #4 /home/netwerk/domains/netwerkdiscount.com/public_html/app/code/core/Mage/Core/Controller/Request/Http.php(148): Mage_Core_Controller_Request_Http->_canBeStoreCodeInUrl() #5 /home/netwerk/domains/netwerkdiscount.com/public_html/app/code/core/Mage/Core/Model/App.php(379): Mage_Core_Controller_Request_Http->setPat in /home/netwerk/domains/netwerkdiscount.com/public_html/app/code/core/Mage/Core/Model/App.php on line 1228
Kan het kloppen dat het script niet werkt voor multishops?
Daar heb ik helaas geen ervaring mee. Kan ook niets specifieks vinden over die foutmelding. Zal er eens dieper in duiken.
Hallo,
Kan iemand mij uitleggen hoe ik er voor zorg dat er bij producten boven de 80€ geen verzendkosten worden gerekend en daaronder wel? Ik wil dit graag meenemen in de datafeed.
@Corne
Niet de mooiste oplossing, maar het werkt wel:
Vervang deze regel (ongeveer regel 52):
Voor dit stukje code:
if (number_format($product->getPrice(), 2) < 80) { $product_data['shipping_rate']= "6,00"; } else { $product_data['shipping_rate']= "0,00"; }Updated code with complete new version. Should work on every Magento install. If you have any problems,… just contact me.