Channel Status¶
Das Basis Objekt ist \Alvine\Application\Platform\Plugin\Commerce\Logic\ChannelState
von diesem sind alle abgeleitet.
Produkte¶
Logik Objekt für Produkte erstellen
$channel = "amazon";
$companySHID = 4;
$channelStateLogic=new \Alvine\Application\Platform\Plugin\Commerce\Logic\Item\ChannelState($channel, $companySHID);
Status prüfen¶
Mit dem Fitler getChannelFilterFromItemSKU
kann der Status pro EAN geladen werden.
Der Filter getChannelFilterFromOID
liefert alle Einträge einer IID zurück, über das Limit können die Einträge eingeschränkt werden.
getChannelStateMapCollection liefert eine Collection von gefundenen Einträge zurück.
$filter = $channelStateLogic->getChannelFilterFromOID($item->getValue('iid'));
$limit = 1 ;
$channelStateMapCollection = $channelStateLogic->getChannelStateMapCollection($filter, $limit);
if($channelStateMapCollection->count()===0) {
/**
* kein Status gefunden
*/
continue;
}
Status setzten¶
$channelState->addOrUpdateChannelStateFromItem($iid, $newState, $ean);