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);