Returns kit options for a designated, kitted product.


The item_kitting function is used to display editable kit component items, e.g here on Skeletal.

The selected SKU is checked for nostock checkout options and if none are present, changes it so that when stock quantity is less than the specified minimum assemble amount, the corresponding fields change to unselectable/inactive.

If the kit is non-editable, the item_kitting function can be used to list out the kit components within the kit.

Kitted Product Components

Individual kit components can be assigned to a kit group, allowing for kit group logic to occur and to group them on the product page. Individual limits can be set per group/per component, e.g: min/max purchase limits. Group panels and inputs can be applied in the group_header and hidden until necessary.

[%PARAM *group_header%]
    <input type="hidden" id="model[@rndm@][@SKU@]" name="model" value="[@model@]">
    <input type="hidden" id="thumb[@rndm@][@SKU@]" name="thumb" value="[@thumb@]">
    <input class="input-tiny btn-large" id="qty[@rndm@][@SKU@]" name="qty" value="[%if [@min_qty@]%][@min_qty@][%else%]1[%/if%]" size="2" type="hidden">
    <input type="hidden" id="sku[@rndm@][@SKU@]" name="sku" value="[@SKU@]">
    <input type="hidden" id="sku[@rndm@][@SKU@]" name="sku" value="[@QTY@]">
    <div class="row">
        <div class="col-xs-12">
            <div class="panel panel-default">
                [%if [@assemble_group_fullname@]%]
                    <div class="panel-heading"><h3 class="panel-title">[@assemble_group_fullname@]</h3></div>

Regarding individual kit component quantity: If store quantity exceeds the allotted assembly quantity, default quantity will be used for kit components. Otherwise, minimum quantity will be used instead.

Editable Kit

Editable kits allow for the kit component quantities to be adjusted by the shopper. They can have variation products as kit components, and are created when you apply a parent product (product with variations) as a kit component item.

In Skeletal on the products/includes/components template, item_kitting includes an [%if ![@has_variation@]%] check in the body parameter, outputting a different product thumbnail to cater for the variarion logic.

Standard product thumbnail in item_kitting

[%PARAM *body%]
    [%if ![@has_variation@]%]
        <div class="col-xs-12 col-md-4 wrapper-components-thumbnail">
            <input type="checkbox" id="[@sku@]a" class="hidden" checked>
            <div class="components-thumbnail thumbnail component[@group_count@]">
                <img class="component-var-thumb" component-id="[@component_count@]" src="[%asset_url type:'product' id:'[@SKU@]' thumb:'thumb'%][%/asset_url%]" alt="[@model@]" border="0" id="main-image">
                <div class="caption">
                    <h4 class="title">[%format type:'text' maxlength:'50' rmhtml:'1'%][@model@][%/FORMAT%]</h4>
                    <p class="price">
                        [%if [@itm_price@]%][%format type:'currency'%][@itm_price@][%/ format%]
                            [%if [@inpromo@]%]<strong>Now</strong> [%format type:'currency'%][@promo_price@][%/format%]
                            [%else%][%format type:'currency'%][@store_price@][%/format%]
                    <div class="input-group">
                        <span class="input-group-addon">QTY</span><input type="number" min="[@min_assemble@]" [%if [@max_assemble@]%]max="[@max_assemble@]" [%/if%] id="productkitting[@rndm@][@kitting_sku@][@component_count@]" value="[@qty@]" ref="[@sku@]" class="component-config-input form-control" [%if [@fixed_assemble@]%]readonly[%/if%]>
        <!-- variation thumbnail -->

The main difference to the variation kit component thumbnail is that it includes a section for the variation select as select inputs using the list_item_variations function:

[%list_item_variations id:'[@current_sku@]'%]
    [%PARAM *variation_header%]
        <select class="component-var-opt form-control component-config-input" component-id="[@component_count@]" ref="[@specific_id@]">
            <option value="" disabled selected>[@specific_name@]</option>
    [%PARAM *variation_body%]
            <option value="[@value_id@]">[@value_name@] [%IF ![@variation_qty@]%](Out of Stock)[%/IF%]</option>
    [%PARAM *variation_footer%]

item_kitting Parameters

Name Options Description
id:'' String The SKU you want to query
variation_kitting HTML & b@se tags Determines whether a component has variations applied to it.
footer HTML & b@se tags Renders a single usable space below the variation options
template:'' Name of the template without the .template.html Loads the template specified. If there is no value, it will load the default product template
header HTML & b@se tags Renders a single usable space above the body
body HTML & b@se tags Runs an array for result
footer HTML & b@se tags Renders a single usable space below the body
group_header HTML & b@se tags Renders a single usable space above the group body
group_footer HTML & b@se tags Renders a single usable space below the group body
group_id HTML & b@se tags ID specific to grouped kit components

list_item_variations Data Tags

Name Description
[@sku@] The parent SKU
[@variation_sku@] The variation's SKU
[@specific_id@] The unique ID for the specific
[@specific_name@] The specific name
[@value_id@] The ID of the specific value
[@value_image@] The URL for the image associated with the specific value
[@value_name@] The name of the specific value
[@selected@] Prints either a 0 or 1 if variation printed is currently the selected/active variation
[@promo_price@] Promotion specific price
[@promo_start@] Promotion start date
[@promo_end@] Promotion end date
[@store_price@] In-store price of the product
[@preorder@] Date purchased if purchase was made before the arrival date
[@arrival_date@] Date at which the item is avaliable
[@features@] Product features
[@specifications@] Product specifications
[@warranty@] Product warranty
[@artist_author@] Artist/author/creator if applicable
[@format@] Product format
[@manufacturer_model@] Manufacturer/model information
[@subtitle@] Additional description for the product
[@availability_description@] Notes pertaining to the availability of the product
[@length@] Product length
[@width@] Product width
[@height@] Product height
[@barcode@] Product barcode
[@product_type@] Type/category of product
[@product_subtype@] Subtype/subcategory of product
[@print_label@] True/false whether a label will be available when the order is processed
[@ref@] Import specific reference number
[@internal_note@] Merchant specific item details
[@barcode_height@] Printing height for barcode
[@barcode1@] Additional barcode details saved against product
[@barcode2@] Additional barcode details saved against product
[@barcode3@] Additional barcode details saved against product
[@cogs_account@] Accounting platform Cost Of Goods mapping
[@income_account@] Accounting platform income mapping
[@asset_account@] Accounting platform asset mapping
[@supplier_code@] Product supplier code
[@split_for_picking@] True/false whether kit is split for picking
[@ebay_description@] Ebay specific product description
[@primary_suppliers_id@] ID of the product's primary supplier(s)
[@cubic@] Product volume, used in shipping
[@weight@] Product weight, used in shipping
[@swatch@] Product variation swatch, mainly color related
[@extra@] Extras set up with product
[@service_only@] True/false whether the product is a service item or not
[@coupons@] Coupons applied at checkout
[@free_gifts@] Free gifts applied from a discount/coupon
[@short_description@] Short description of the product
[@rental_only@] True/false whether the product is only available for rental
[@sh_type_id@] Shipping type ID
[@itm_gp_id@] Item kitting-group ID
[@display_template@] Default display options for product
[@editable_bundle@] True/false whether the item is an editable kit or not
[@is_kit@] True/false value. If the item has components and is editable, this will return true
[@has_components@] True/false whether the item has components
[@date_created@] Control panel creation date for product
[@sortorder@] Sort order for product
[@sortorder2@] Sort order for product
[@inventory_id@] Unique inventory ID for product. Different from SKU
[@store_quantity@] Quantity the store has in stock
[@assemble_quantity@] Standard quantity needed to fulfill the kit order
[@min_assemble@] Minimum quantity needed to fulfill the kit order
[@component_count@] Quantity of components in kit
[@kitting_sku@] The SKU of the kit product
[@kitting_count@] Number of kits on an order line

Was this article useful?

Be notified when this page is updated. Optional.