関数
Cart::getInCartPostData( Aivec\Welcart\Extensions\ItemComboSet\Types\ComboSet $comboset, array $grouptoitemmap, array $itemoptmap = array() )
説明 説明
Checks for the existence of each group and item. Also checks that required groups have at least one selection.
Aborts early if any of the above checks fail. If all groups and items were found, an array of $_POST data which can be used directly by $usces->incart_check() or $usces->cart->inCart() is returned.
- $comboset
 (ComboSet) (必須)
- $grouptoitemmap
 (配列) (必須)
- $itemoptmap
 (配列) (任意)
ファイル: src/API/Cart.php
    public static function getInCartPostData(ComboSetType $comboset, $grouptoitemmap, $itemoptmap = []) {
        $postbuilder = [];
        $grouptoitemmap = self::sanitizeComboSetSelections($grouptoitemmap);
        foreach ($grouptoitemmap as $groupid => $itemids) {
            $group = ComboGroup::getComboGroupById($groupid);
            // if the group does not exist OR it is not associated with the combo-set, abort
            if ($group === null || $group->getComboSetId() !== $comboset->getId()) {
                return Master::getErrorStore()->getErrorResponse(
                    ErrorStore::COMBO_GROUP_NOT_FOUND,
                    [$groupid],
                    [],
                    [$groupid]
                );
            }
            foreach ($itemids as $itemid) {
                $item = GroupItem::getGroupItemById($itemid);
                // if the item does not exist OR it is not associated with the group, abort
                if ($item === null || $item->getGroupId() !== $group->getId()) {
                    return Master::getErrorStore()->getErrorResponse(
                        ErrorStore::GROUP_ITEM_NOT_FOUND,
                        [$itemid],
                        [],
                        [$itemid]
                    );
                }
                $itemskudata = $item->getSkuData();
                $itempostid = $item->getPostId();
                $itemskucode = urlencode($itemskudata['code']);
                $postdata = [];
                $postdata['inCart'][$itempostid][$itemskucode] = 'dummy';
                $postdata['quant'][$itempostid][$itemskucode] = $item->getItemQuantity();
                $postdata['zaikonum'][$itempostid][$itemskucode] = $itemskudata['stocknum'];
                $postdata['zaiko'][$itempostid][$itemskucode] = $itemskudata['stock'];
                $postdata['gptekiyo'][$itempostid][$itemskucode] = $itemskudata['gp'];
                $postdata['skuPrice'][$itempostid][$itemskucode] = 0;
                if (!empty($itemoptmap[$item->getId()])) {
                    $postdata['itemOption'][$itempostid][$itemskucode] = $itemoptmap[$item->getId()];
                }
                $postdata['itemId'] = $item->getId();
                $postdata['groupId'] = $group->getId();
                $postdata['comboSetId'] = $comboset->getId();
                $postdata['priceModifier'] = $item->getPriceModifier();
                $postbuilder[] = $postdata;
            }
        }
        return $postbuilder;
    }