I’ve just been doing some work on a Magento e-commerce site and had a problem editing product information. In case you’re unaware Magento is a very good open-source e-commerce platform, you can find out more about it here.
The problem arises once you’ve set up your basic store, and if you’ve followed some of the helpful guides, you’ll arrive at a position with a website displayed in what is called a “store view”. A store view can be used for things such as language demarcation, seasonal look-and-feel, etc.
e.g.
I’d added a couple of products in to the system via the admin console, exported them as CSV to add some more and then imported them all again in to my default store view (set as “English”). Then I entered the admin console, catalog tab, selected a product and edited it. However, none of the changes appeared on site. Everything was there on the site as I had imported it and everything I had changed was in the admin screens.
The issue seemed to revolve around having a single “store view” when you have a single store.
Magento makes the assumption that when you only have a single store, with a single store view, then all the content for any products will be the same as the default content. This makes perfect sense, you would want the only view to have the default information.
What makes it tricky is that this isn’t explained anywhere. What makes it more tricky is that to be helpful, the product editing page removes the drop-down allowing you to switch between stores and views.
The problem comes when you export from, or import into your view. The export will create a file tagged with the ID of your view. When you import this file (in to your view) if these are new products they will also create a new default copy (ID:0) else they will just update the store view copy.
As there is no drop down any edits you make are made to the default information, not the newly imported store view information. This means that if your website is showing your store view, no changes from the admin console will be seen.
The solution, if you only have a single view on a single store, is to upload in to the default store, with no view specific ID on the import. Internally Magento will “replicate” to your view so that changes made in the Admin console will be seen on site.
If you then add a new view, say for example for a new language, then on creating that, Magento will do the same replication from the default. To get language specific values you then need to import those changes, with the correct store view id, back in to the system. The edit product page will then display the drop down you are expecting.
In the end I had to wander through the database, and make the connections. Please someone, write some good docs for Magento.