If your sites support complex product-SKU relationships (for example, multiple CommerceItems
with the same catalogRefId
) or multiple shipping groups, then it is recommended that you modify an Order
using the IDs of the ShippingGroupCommerceItemRelationship
objects in the Order
. Doing so makes the changes at the CommerceItem
-to-ShippingGroup
level.
You can use the following CartModifierFormHandler
methods to modify an Order
by ShippingGroupCommerceItemRelationship
ID:
handleSetOrderByRelationshipId
()handleRemoveItemFromOrderByRelationshipId
()handleMoveToPurchaseInfoByRelId
()
Refer to Understanding the CartModifierFormHandler for more information on these handle methods.
To change the quantity of an item in the Order
, pass the new quantity into the ShippingpingGroupCommerceItemRelationship
, as shown in the following JSP example:
<dsp:input value='<dsp:valueof param="SgCiRelationship.quantity"/>' type="text" name='<dsp:valueof param="SgCiRelationship.Id"/>'>
To delete an item from the Order
, pass the ID of the associated ShippingGroupCommerceItemRelationship
into the form handler’s removalRelationshipIds
property, as shown in the following JSP example:
<dsp:input bean="CartModifierFormHandler.removalRelationshipIds" paramvalue="SgCiRelationship.Id" type="checkbox"/>