関数
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; }