Understand view model support for line items

This section describes view model support for splitting line items.

The class diagram below shows the specific properties and methods of the view models that support setting custom properties and splitting line items.

view models that support splitting line items

The CartViewModel implements the splitItems() function for splitting existing line items. It also includes functions for handling dynamic properties (custom properties).

The combineLineItems string property on the CartViewModel determines the behavior when a shopper adds instances of a SKU to a shopping cart that already contains that SKU. If combineLineItems is set to yes (the default), the SKUs are combined into a single line item. For example, if there is a line item with a quantity of 3 for a certain SKU, and the shopper adds that SKU to the cart again with a quantity of 2, the default behavior is to modify the existing line item, resulting in a single line item with a quantity of 5.

The splitItems() function sets combineLineItems to no, to prevent merging of line items that have different customizations. In the example above, if combineLineItems is set to no, the result is two separate line items for the SKU, one with quantity 3 and one with quantity 2.