17

In short: Don't use Dataflow for anything, it's deprecated. Yoav Kutner once (2011) said that Dataflow is not usable, and that was the reason they added ImportExport in Magento 1.5. The main disadvantage of Dataflow is its very low speed. ImportExport is much faster. It's not perfect as its CSV format is not too intuitive (I have summarized it at http://...


17

The fastest way to do it is to run this query directly. DELETE FROM `catalog_product_entity` WHERE `sku` IN ('SKU1', 'SKU2', ...., 'SKU1000'); Everything should cascade nicely. attribute values will be deleted, category relations will be deleted, upsells, crosssells and related and so on. [EDIT] There is a catch to this. Thanks to STW for spotting ...


14

All due respect to Marius, but please don't interact with the database directly if it's at all avoidable. Maybe the related tables will be updated automatically, if your release of Magento and all your extensions are bug-free in all the right places. But if they're not, that sort of thing can destroy your site. Instead, you can use Magento's own CSV ...


14

One approach is to use the registry so in your controller class you put it in the registry, and then in your block you can retrieve it. <?php namespace <Vendor>\<ModuleName>\Controller\Index; use Magento\Framework\App\Action\Action; class Index extends Action { protected $_coreRegistry; public function __construct( \...


7

For future reference, the following syntax will add a TINYINT(1) field - for which BOOLEAN is a MySQL alias: ->addColumn('is_active', Varien_Db_Ddl_Table::TYPE_BOOLEAN, 1, array( 'nullable' => false, 'default' => 1, ), 'Status') And the resulting field in MySQL: Name, Type, Null, Default is_active, tinyint(1), No, 1 Hope that helps a ...


6

We are using the SOAP API pretty often. It may not be feature complete but you can optimise the data exchange between external systems (ERP, CRM, ...) by optimising existing calls or writing your own one for special needs (e.g. only update a single attribute of a product without loading the complete product etc.). If your clients don't like the CSV format (...


6

You can do it programmatically. Create a skustodelete.csv listing all skus to be deleted and after that here is the code to proceed further require_once 'app/Mage.php'; Mage :: app("default")->setCurrentStore(Mage_Core_Model_App :: ADMIN_STORE_ID); $skuAll = array(); $file_handle = fopen("skustodelete.csv", "r"); $catalog = Mage::...


6

Fix from above comment worked. Try this: https://github.com/baconl/Magento-1.9.2.X-duplicate-sku-export-fix Its a temporary fix until the magento core team fixes it, – baconl


5

We use uRapidFlow Pro almost exclusively. uRapidFlow is very efficient and well worth the cost. For very small sites, sure, the built-in product edit interface can be used; but import sheets of some sort must be utilized to be efficient at organizing and importing a large number of products. A tip on creating a good import sheet would be to both check the ...


4

I did the following steps: convert to utf8 remove empty "sku" column rename "artnr" to "sku" set column "type" to "simple" for all rows clear column "image" and "small_image": "?" => "" And now the import tells me "Processed 100% 11/11 records", "Imported 11 records". All green, all good but the new products are not listed in the catalog. I guess I am ...


4

Here is the script I use: //Magento export tier price of all product to csv require_once 'app/Mage.php'; umask(0); Mage::app('default'); header("Content-type:text/octect-stream"); header("Content-Disposition:attachment;filename=data.csv"); $tableName = Mage::getSingleton('core/resource') ->getTableName('catalog_product_entity_tier_price'); $...


4

For people using a Dataflow Profile to import customer addresses, don't forget to add the country code (billing_country or shipping_country) and a post code (billing_postcode or shipping_postcode). Without those values, the address will not be taken into account. If the address still doesn't show up, add those lines of code at the end of the __construct ...


4

This opensource project Magmi will import 75products per second on my system , compared to 1 product per 2minutes on magento's import dataflow. Keep in mind when you upload these files that you make sure no one else can access it. ( ht access etc )


4

If you want to import images into Magento, use ImportExport with the following sample CSV: sku,_media_image,_media_attribute_id,_media_is_disabled,_media_position,_media_lable,image,small_image,thumbnail 1234567,img1.jpg,77,1,1,Image 1,img1.jpg,img2.jpg,img2.jpg ,img2.jpg,77,0,2,Image 2,,, ,img3.jpg,77,0,3,Image 3,,, The files must be in /media/import/...


4

If you want to import all categories and products to your website,just follow the following instructions. Create all categories and create one product in your website, After this, export that data and keep that with you. Now arrange the data which you want to import, that total have to be arrange in the format of your exported data. After arranged you can ...


4

You can create a custom import with Magento 2. You can based on the CatalogImportExport or CustomerImportExport Magento module which is based on the ImportExport Magento module as a reference. Basic step : Create your CustomImportExport Module Add an import.xml configuration file Add your entity model and behavior Add your entity type if needed Add the ...


3

I just did this a few days back. Using the standard Import/Export functionality, there doesn't seem to be problem importing addresses. The main difference seems to be underscore prefixing most address related field names (and suffixing some). The easiest way is to do standard Export (instead of running a Dataflow profile) and see what the header looks like. ...


3

For the purpose of my question I was wanting to get the quoteId on the success page, with that in mind the quoteId is stored in the order object and can be accessed via the following $order = Mage::getModel('sales/order')->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId()); $quoteId = $order['quote_id'];


3

The grid table is necessary for the separation of the production data table when performing work on the admin. Sorts, queries, and reports in the admin view all have a potential impact on causing read locks which may prevent order data from being written to the sales_flat_order_* tables during an order placement. This is even worse when sorting on an ...


3

Kevin S, you can delete product by csv file. Just follow the billow step Step 1 : Create a csv file and past the skus which you want to delete from system. Give the file name as skus.csv Step 2 : Create & replace a php file in your root directory. Then past the following code require_once '../app/Mage.php'; Mage :: app("default") -> ...


3

The none code way In the admin section under Manage Products would will find a grid with all your products. There is a column called SKU. Here you can filter your products based on the value. Then once you have filtered by SKU you can use the checkboxes on the left hand side to select all the items you wish to delete. Notice the select all which will ...


3

Generally you create a new product with images, export using dataflow and check the way images are displayed. copy that way and it will work. generally-> _media_attribute_id – this is the attribute id of the media_gallery attribute. You can find it by going to Catalog->Attributes->Manage Attributes and searching by media_gallery in the Attribute Code. ...


3

Use Magmi so that you can do this by without any coding. Also product adding will be much easier and faster http://www.adrikodde.nl/blog/2013/how-delete-magento-products-magmi/


3

When you running this script via cron - first you must change directory to script directory, so yoou must do cd /home/#######/public_html/custom_scripts/ first and then run script so cron command must look something like cd /home/#######/public_html/custom_scripts/; php dataflow_scheduled_export.php I think


3

When you update to Magento 1.9.2.X you will have this problem. If u use the app/code/core/Mage/Catalog/Model/Convert/Parser/Products.php from a older version of magento it will fix your problem. You can try using this link, its a temporary fix that uses a older Products.php file: https://github.com/baconl/Magento-1.9.2.1-duplicate-sku-fix Keep in mind, ...


3

The created_at is a system field, like entity_id and a few others. See app/code/core/Mage/Catalog/Model/Convert/Parser/Product.php, more specifically in the constructor: public function __construct() { foreach (Mage::getConfig()->getFieldset('catalog_product_dataflow', 'admin') as $code=>$node) { // ... output omitted if ($node->...


3

Not using any extensions is limiting you, but you could use Import/Export with products because missing categories will be created when you import products. Afterwards, delete the created products. Depending on your number of products and categories, it might be easier to create a single dummy product, assign it to all categories and then export only this ...


3

I had this very same issue when I started to convert/migrate and old Zencart to Magento. I wrote a little script that kept the originl id's and sorted them back into Magento. You my want to have a look at this: https://stackoverflow.com/questions/34213371/csv-import-export-problems-in-magento/34267981#34267981 This script is for Magento only, it exports ...


3

This can be done using a data installer. To learn more about the basics of those please check out this Inchoo Article. Now for the business end of the data installer; we create a new file in the module root data/my_module/install-1.0.0.php and create a Dataflow Profile for installation <?php $installer = $this; /* @var $installer ...


2

For the company I work for I have created a completely custom module that imports data from an auto generated XML file. Since we are talking about a large amount of products the default Magento import/export profile don't get the job done. It is generally considered as bad practice to use raw SQL queries but we decided to use them anyway bscause of the big ...


Only top voted, non community-wiki answers of a minimum length are eligible