Artikelimport

Hallo zusammen,

ich schreibe gerade einen Artikel import.

Woran kann ich erkennen ob es ein Produkt schon gibt?

Das hier ist mein importscript:


$oArticle = oxNew("oxarticle");
$oArticle->assign(
array(
"oxarticles__active"=> $product["in_shop"],
"oxarticles__oxartnum"=>$product["inv_id"],
"oxarticles__oxtitle"=>$product["name"],
) );

Aber das importiert mir die Artikel immer wieder aufs neue…

Könnt Ihr mir helfen?

VG

Wenn du ein Buch kaufst, woran erkennst du ob du das Buch nicht schon hast?
Name, Artikelnummer, EAN, ISBN, etc. Irgendeine einzigartige Kennung von diesem Artikel.

Eventuell habe ich mich falsch ausgedrückt.

Ich möchte etwas wie das hier haben:


$oArticle = oxNew("oxarticle");
$oArticle->loadByArtnum('SS15-ABCDE-01");

Gibt es solch eine Funktion oder muss ich die mir selbst schreiben?

Danke.

In der 4.9er Version habe ich sowas nicht gefunden, zumal die Artikelnummerrn bei OXID mehrmals vorkommen dürfen, das wäre dann eine Glückssache welches der Artikel mit der selben Nummer man geladen bekommt.

In article_main->save() gibts einen Check für doppelte Artikelnummern, ggf kannst du es kopieren und für dich anpassen


00171             $sSelect = "select oxid from " . getViewName('oxarticles');
00172             $sSelect .= " where oxartnum = '" . $aParams['oxarticles__oxartnum'] . "'";
00173             $sSelect .= " and oxid != '" . $aParams['oxarticles__oxid'] . "'";
00174             if ($oArticle->assignRecord($sSelect)) {
00175                 $this->_aViewData["errorsavingatricle"] = 1;
00176             }

Falls du eine andere Shop version hast, kannst du In der Sourcecode Dokumentation schauen ob es dort so eine Funktion gibt:
http://docu.oxid-esales.com/CE/sourcecodedocumentation/