# Import der Produkte aus dem OXID eShop

**URL:** <https://forum.shopware.com/t/import-der-produkte-aus-dem-oxid-eshop/36156>\
**Category:** Plugins\
**Tags:** drittanbieter-plugin\
**Created:** [20. April 2016 um 10:00 UTC](https://forum.shopware.com/t/import-der-produkte-aus-dem-oxid-eshop/36156 "2016-04-20T10:00:15Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![julia.jung](https://avatars.discourse-cdn.com/v4/letter/j/b38774/32.png) [@julia.jung](https://forum.shopware.com/u/julia.jung)\
**Post date:** [20. April 2016 um 10:00 UTC](https://forum.shopware.com/t/import-der-produkte-aus-dem-oxid-eshop/36156/1 "2016-04-20T10:00:15Z")

</div>

Wir sind gerade dabei einen OXID eShop auf Shopware zu migrieren.&nbsp;Die OXID Produkte lassen sich anscheinend nicht in 2 Sprachen migrieren.

Im Migrationsplugin in der Datei Oxid.php und Methode getProductSelect ist die Mehrsprachigkeit nicht vorgesehen:

{code}

\*\*return&nbsp;\*\*\*\*"  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT  
&nbsp;&nbsp; a.OXID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as `productID`,  
&nbsp;&nbsp; a.OXPARENTID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as `parentID`,  
&nbsp;&nbsp; a.OXARTNUM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as ordernumber,  
&nbsp;&nbsp; a.OXACTIVE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as active,  
&nbsp;&nbsp; a.OXTITLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as name,  
&nbsp;&nbsp; a.OXVARSELECT&nbsp;&nbsp;&nbsp;&nbsp; as additionaltext,  
&nbsp;&nbsp;&nbsp;&nbsp; **_COALESCE_** (a2.OXVARNAME, ‘’) as variant\_group\_names,  
&nbsp;&nbsp; a.OXSHORTDESC&nbsp;&nbsp;&nbsp;&nbsp; as description,  
&nbsp;&nbsp; a.OXSEARCHKEYS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as keywords,  
&nbsp;&nbsp; a.OXWEIGHT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as weight,  
&nbsp;&nbsp; a.OXDELIVERY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as releasedate,  
&nbsp;&nbsp; a.OXSTOCK&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;as instock,  
&nbsp;&nbsp; a.OXREMINDAMOUNT&nbsp;&nbsp; as minstock,  
&nbsp;&nbsp; a.OXMPN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as suppliernumber,  
&nbsp;&nbsp; a.OXFREESHIPPING&nbsp;&nbsp; as shippingfree,  
&nbsp;&nbsp; CONCAT(  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF(a.OXDELTIMEUNIT=‘WEEK’, a.OXMINDELTIME\*7, a.OXMINDELTIME),  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF(a.OXMAXDELTIME!=0, CONCAT(’-’, IF(a.OXDELTIMEUNIT=‘WEEK’, a.OXMAXDELTIME\*7, a.OXMAXDELTIME)), ‘’)  
&nbsp;&nbsp; )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as shippingtime,  
&nbsp;&nbsp;&nbsp;&nbsp; **_COALESCE_** (a2.OXVAT, a.OXVAT) as tax,  
&nbsp;&nbsp; a.OXTPRICE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as pseudoprice,  
&nbsp;&nbsp; a.OXBPRICE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as baseprice,  
&nbsp;&nbsp; a.OXPRICE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as price,

&nbsp;&nbsp; – a.OXPRICEA&nbsp;&nbsp;&nbsp;&nbsp; as price\_A,  
&nbsp;&nbsp; – a.OXPRICEB&nbsp;&nbsp;&nbsp;&nbsp; as price\_B,  
&nbsp;&nbsp; – a.OXPRICEC&nbsp;&nbsp;&nbsp;&nbsp; as price\_C,

&nbsp;&nbsp; s.OXTITLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as supplier,  
&nbsp;&nbsp; e.OXLONGDESC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as description\_long,  
&nbsp;&nbsp; e.OXTAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as tags,

&nbsp;&nbsp; a.OXEXTURL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as link,  
&nbsp;&nbsp; a.OXURLDESC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as link\_description,  
&nbsp;&nbsp; a.OXLENGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as length,  
&nbsp;&nbsp; a.OXWIDTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as width,  
&nbsp;&nbsp; a.OXHEIGHT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as height,  
&nbsp;&nbsp; a.OXEAN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as ean,

&nbsp;&nbsp;&nbsp; **_LOWER_** (REPLACE(a.OXUNITNAME, ‘\_UNIT\_’, ‘’))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as packunit,  
&nbsp;&nbsp; a.OXUNITQUANTITY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as purchaseunit

FROM&nbsp;**{$this-\>quoteTable(**‘articles’ **,&nbsp;** ‘a’\*\*)}

**LEFT JOIN&nbsp;** {$this-\>quoteTable( **‘manufacturers’** ,&nbsp; **‘s’** )}  
\*\*ON s.OXID=a.OXMANUFACTURERID

LEFT JOIN&nbsp;\*\*  
{$this-\>quoteTable( **‘articles’** ,&nbsp; **‘a2’** )}  
\*\*ON a2.OXID=a.OXPARENTID

LEFT JOIN&nbsp;\*\*  
{$this-\>quoteTable( **‘artextends’** ,&nbsp; **‘e’** )}  
\*\*ON e.OXID=a.OXID

– Make sure to no import children products before the parent was imported  
ORDER BY `parentID`  
&nbsp;&nbsp;&nbsp;&nbsp; "\*\*  
;

{/code}

&nbsp;

Beim Import der Kategorien in der Methode getCategorySelect ist die Abfrage an OXID Mehrsprachig aufgebaut siehe:

{code}

```
 $baseShopId = $this-\>getBaseShopId(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $keys = $this-\>getLanguageKeys(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql = [&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **" &nbsp;&nbsp; SELECT &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXID as categoryID, &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;(CASE WHEN c.OXLEFT = 1 THEN '' ELSE c.OXPARENTID END) as parentID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;** {$this-\>Db()-\>quote($keys[0])} **as languageID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- OXSHOPID as shopID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXTITLE as description, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXDESC as cmsheadline, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXLONGDESC as cmstext, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXACTIVE as active, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXHIDDEN as hidetop, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXSORT as position, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXEXTLINK as external, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXLEFT as catLeft, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s.OXKEYWORDS as metaKeywords, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s.OXDESCRIPTION as metaDescription &nbsp;&nbsp; FROM** {$this-\>quoteTable( **'categories'** , **'c'** )} **&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LEFT JOIN** {$this-\>quoteTable( **'object2seodata'** , **'s'** )} **&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ON s.OXOBJECTID = c.OXID &nbsp;&nbsp; WHERE c.OXSHOPID='** {$baseShopId} **' " &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;** ]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **foreach** ($keys **as** $key =\> $languageID) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **if** ( **empty** ($key)) { &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **continue** ; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql[] = **" &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXID as categoryID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (CASE WHEN c.OXPARENTID = 'oxrootid' THEN '' ELSE c.OXPARENTID END) as parentID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;** {$this-\>Db()-\>quote($languageID)} **as languageID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- OXSHOPID as shopID, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF(c.OXTITLE\_**$key **='', c.OXTITLE, c.OXTITLE\_** $key**) as description, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF(c.OXDESC\_**$key **='', c.OXDESC, c.OXDESC\_** $key**) as cmsheadline, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF(c.OXLONGDESC\_**$key **='', c.OXLONGDESC, c.OXLONGDESC\_** $key**) as cmstext, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IF(c.OXACTIVE\_**$key **='', c.OXACTIVE, c.OXACTIVE\_** $key**) as active, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXHIDDEN as hidetop, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXSORT as position, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXEXTLINK as external, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.OXLEFT as catLeft, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s.OXKEYWORDS as metaKeywords, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s.OXDESCRIPTION as metaDescription &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM** {$this-\>quoteTable( **'categories'** , **'c'** )} **&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LEFT JOIN** {$this-\>quoteTable( **'object2seodata'** , **'s'** )} **&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ON s.OXOBJECTID = OXID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE c.OXSHOPID='** {$baseShopId} **' &nbsp;&nbsp; "** ; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; **return '('**. _implode_(**') UNION ALL ('**, $sql) . **') ORDER BY catLeft'**;

```

&nbsp;

{/code}

&nbsp;

Hat jemand eine Idee wie wir das Problem lösen können? Oder bereits schon eine Lösung hierfür?

---

<div class="post-metadata">

**Author:** ![julia.jung](https://avatars.discourse-cdn.com/v4/letter/j/b38774/32.png) [@julia.jung](https://forum.shopware.com/u/julia.jung)\
**Post date:** [26. April 2016 um 07:15 UTC](https://forum.shopware.com/t/import-der-produkte-aus-dem-oxid-eshop/36156/2 "2016-04-26T07:15:47Z")

</div>

Guten Morgen,

hatte bisher keiner das Problem des Importes mit zwei Sprachen? Die Kategorien werden importiert aber die Artikel nicht den Sprachen zugeordnet.

Wäre schön, wenn mir jemand weiterhelfen kann.

Danke!
