Logo
May 20, 2014
Door Erwin Otten

Winkelaanzicht specifieke informatie invoeren in Magento met 1 storeview

Regelmatig bouwen wij Magento import-scripts die databestanden uitlezen en automatisch nieuwe producten aanmaken, reeds bestaande producten updaten of producten uit een webshop verwijderen. Meestal is het wenselijk dat deze productinformatie met eigen informatie kan worden overschreven, dus dat de eigenaar van een webshop zelf bijvoorbeeld beschrijvingen, titels , productafbeeldingen of voorraadinformatie kan instellen. Deze imports draaien echter periodiek - zodat de productinformatie altijd up-to-date is - en het is niet de bedoeling dat de zelf ingevoerde informatie bij de eerst volgende keer dat de import draait verloren gaat.

Magento heeft voor deze situatie van huis uit eigenlijk een hele mooie oplossing. Wanneer er namelijk twee of meer winkelaanzichten (store view) worden aangemaakt - in de meeste gevallen zal een winkelaanzicht een taal representeren, de hiërarchie is; webshop > winkel > winkelaanzicht (taal) - dan is de informatie die ingevoerd 'in' een winkelaanzicht dominant over de informatie die geïmporteerd wordt. Deze winkelaanzichten liggen dus als het ware als extra laag over de geïmporteerde data heen. Productinformatie invoeren per winkelaanzicht kun je doen door op de producten beheer pagina bijvoorbeeld linksboven in het adminpanel de hiervoor bestemde option select te gebruiken:

Echter, schakelen tussen winkelaanzichten is pas mogelijk wanneer een shop twee winkelaanzichten bevat. Dit betekend dus dat, wanneer je de informatie van een productimport wilt overschrijven, je een extra winkelaanzicht aan zult moeten maken alleen al deze mogelijkheid te hebben, wat nogal een slordige oplossing is. Dit tweede winkelaanzicht kom je namelijk overal in de backend weer tegen en als je hem niet echt gebruikt, kan dit voor verwarring zorgen. Met een hele kleine aanpassing is het echter ook mogelijk om ook met slechts één winkelaanzicht al deze 'store switcher' te tonen:

Kopieer app/code/core/Mage/Core/Model/App.php naar app/code/local/Mage/Core/Model/App.php (maak de mappen aan die je mist) en verander (regel 618):

$this->_isSingleStore = $storeCollection->count() < 3;

naar

$this->_isSingleStore = $storeCollection->count() < 2;

Je zult zien dat als je nu door het adminpanel bladert, je inderdaad de store switcher kunt gebruiken om het winkelaanzicht te kiezen en vervolgens winkelaanzicht specifieke configuraties kunt doen.

May 20, 2014
Door Erwin Otten

Op zoek naar een Magento webshop specialist?

We komen graag met je in gesprek. Direct een Magento webshop project opstarten?