Getting Started

Welcome to the Product Kit documentation.

Whether you are new or an advanced user, you can find some useful information here.

Go ahead, dive in!

Firstly, please check out our extension in the My Downloadable Products section of our store. Learn how to install extension, and proceed with Quick Start, which will guide you to set up your Product Kit service.

How to install the extension

How to install the extension using composer

  1. Back up your store's database and web directory.
  2. Log in to the SSH console on your server and navigate to the root directory of the Magento 2 store.
  3. Copy the installation instructions from the page My Downloadable Products to the SSH console and press ENTER.
  4. Run the command to enable the extension.
    php -f bin/magento module:enable Mirasvit_Core Mirasvit_ProductKit
  5. Run the command to install the extension.
    php -f bin/magento setup:upgrade
  6. Run the command to clean the cache.
    php -f bin/magento cache:clean
  7. Deploy static view files
    rm -rf pub/static/*; rm -rf var/view_preprocessed/*; php -f bin/magento setup:static-content:deploy

Note

As for Magento 2.3* the GraphQl module can be also installed. The command is composer require mirasvit/module-product-kit-graph-ql

How to install the extension manually

  1. Back up your store's database and web directory.
  2. Download the archive from My Downloadable Products.
  3. Unzip the extension locally.
  4. Copy the unzipped folder to the root directory of the Magento store.
  5. Run the command to enable the extension.
    `php -f bin/magento module:enable Mirasvit_Core Mirasvit_ProductKit
  6. Run the command to install the extension.
    php -f bin/magento setup:upgrade
  7. Run the command to clean the cache.
    php -f bin/magento cache:clean
  8. Deploy static view files
    rm -rf pub/static/*; rm -rf var/view_preprocessed/*; php -f bin/magento setup:static-content:deploy

How to install the extension for Hyva

  1. Run the command to obtain the Product Kit Hyva component

    composer require mirasvit/module-product-kit-hyva:*
  2. Enable installed Hyva component:

    php -f bin/magento module:enable Hyva_MirasvitProductKit
  3. Update Magento database schema and data with the command:

    php -f bin/magento setup:upgrade
  4. Compile the code of the installed extension:

    php -f bin/magento setup:di:compile
  5. Check the file app/etc/hyva-themes.json. If there are no entries for the package mirasvit/module-product-kit-hyva package - run the following command

    php -f bin/magento hyva:config:generate
  6. Generate the styles for the installed extension:

    cd /path/to/theme/web/tailwind/;
    npm run build-prod
  7. Deploy the static view files

    cd /path/to/project/
    rm -rf pub/static/*; rm -rf var/view_preprocessed/*;
    php -f bin/magento setup:static-content:deploy
  8. Run the command below to clean the cache:
    php -f bin/magento cache:flush

Quick Start

Our Product Kit extension for Magento 2 is a simple, yet powerful extension that allows you to sell several products or services together as a combined unit - Kits, often for a lower price than each item would cost separately.

When you offer a buy one, get one at a percentage or monetary equivalent off — or maybe free — it gives shoppers the perception that they are getting something free of charge or for a substantial discount.

Product Kits can be defined as one of the following strategies:

  • Predefined Product Kit, which allows for mannually selecting particular products that should be included in the Kit;
  • Smart Product Kit, which allows you to configure rules per each position in the Kit (up to 5 positions) and generate all possible combinations with only one Kit.

Predefined Kit

Predefined Kit allows for manually selecting particular products that need to be included in the Kit.

To create a new Predefined Kit, go to Catalog > Product Kits and press the button Add New Kit.

The Edit page of a product kit contains three sections:

  • General Information
  • Appearance
  • Products

General Information


  • Active - kit status.
  • Internal Name - kit name. Used only for internal purposes.
  • Priority - sort order for appearing on the frontend.
  • Store View - store view where the kit can be applied.
  • Customer Groups - customer groups where the kit can be applied.
  • Is Smart - kit type.

Appearance

  • Title - the title of the kit block. Visible on the frontend.
  • Label - label for the product kit discount. Visible on the shopping cart page.
  • Override Cent Values? - allows for modifying the final price of the kit. For example, the final kit price is $25.67, but you need to make it $25.99, so you set this option to ##.99.

Products

To add products to the kit, click the Add Products button. In the pop-up window, select the required products and press the Add Selected Products button.

Each product has the following options:

  • Is Options - defines a product that must be added in the cart.
  • Is Primary - product kit block will be shown only on the product pages that marked as "primary". Each kit should contains at least one "primary" product. For example, if you want to sell a phone case with a phone and want to display the kit on both product pages(phone page and phone case page), you need to mark both products as Primary. If you need to show the kit only on a phone page, then you need to mark only the phone product as primary.
  • Discount - allows you to set a discount for the product in this kit. Two types of discount are allowed:
    • Fixed - defines a strict amount of discount;
    • Percent - defines a percent from the product price.
  • Qty - product's quantity in the kit.

Smart Kit

Smart Kit allows for creating a kit using rules.

To create a new Smart Kit, go to the Catalog > Product Kits and press the button Add New Kit and select the option Is Smart.

The Edit page of the product kit consists of three sections:

  • General Information
  • Appearance
  • Products

General Information


  • Active - kit status.
  • Internal Name - kit name. Used only for internal purposes.
  • Priority - sort order for appearing on the frontend.
  • Store View - store view where the kit can be applied.
  • Customer Groups - customer groups where the kit can be applied.
  • Is Smart - kit type.
  • Number of products - number of products in the kit.

Appearance

  • Title - the title of the kit block. Visible on the frontend.
  • Label - label for the product kit discount. Visible on the shopping cart page.
  • Override Cent Values? - allows modifying the final price of the kit. For example, the final kit price is $25.67, but you need to make it $25.99, so you set this option to ##.99.

Products

Each product has the following options:

  • Is Options - defines a product that must be added in the cart.
  • Discount - allows you to set a discount for the product in this kit. Two types of discount are allowed:
    • Fixed - defines a strict amount of discount;
    • Percent - defines a percent from the product price.
  • Qty - the number of products in the kit.
  • Apply the rule only for the following products - the section that permits setting conditions used for the kit formatting.

Suggest Kits

Suggest Kits allows you to create kits using statistics from your store.

To create a new Kit, go to the Catalog > Product Kits and press the button Suggest Kits. Modify Selection Criteria for your needs, press the button Find Suggestions, choose a kit from the provided list, and press the button Create Kit.

Suggest Kits allows you to use the following criteria:

  • Number of products for kit - number of products in one suggested kit.
  • Number of orders - select only those products that were used in the provided number of orders.
  • Kit price - suggest only kits that satisfy the price range.
  • Group by - by default, select products based on the order
    • Same Customer - select products based on the customer

How to upgrade extension

To upgrade the extension, follow these steps:

  1. Back up your store's database and web directory.
  2. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
  3. Run the command to update current extension with all dependencies.
    composer require mirasvit/module-product-kit:* --update-with-dependencies

    Note

    In some cases, the command above is not applicable, or you are unable to update just the current module, and must upgrade all Mirasvit modules in a bundle. In this case, the command above will have no effect.

    Instead, run the command

    composer update mirasvit/*

    It will update all Mirasvit modules installed in your store.

  4. Run the command to install updates.
    php -f bin/magento setup:upgrade
  5. Run the command to clean the cache.
    php -f bin/magento cache:clean
  6. Deploy static view files
    rm -rf pub/static/*; rm -rf var/view_preprocessed/*;
    php -f bin/magento setup:static-content:deploy

Note

If you have the Hyva installed, run:

composer require mirasvit/module-product-kit:* mirasvit/module-product-kit-hyva:* --update-with-dependencies

Disabling the Extension

Temporarily Disable

To temporarily disable the extension, please follow these steps:

  1. Log in to the SSH console on your server and navigate to the root directory of the Magento 2 store.
  2. Run the command to disable the extension.
    php -f bin/magento module:disable Mirasvit_ProductKit
  3. Log in to the Magento backend and refresh the store cache (if enabled).

Note

If you have Hyva installed, run:

php -f bin/magento module:disable Mirasvit_ProductKit Hyva_MirasvitProductKit

Extension Removal

To uninstall the extension, please follow these steps:

  1. Log in to the SSH console on your server and navigate to the root directory of the Magento 2 store.
  2. Run the command to disable the extension.
    php -f bin/magento module:disable Mirasvit_ProductKit
  3. Run the command to remove the extension.
    composer remove mirasvit/module-product-kit
  4. Log in to the Magento backend and refresh the store cache (if enabled).

Note

If you have Hyva installed, run:

composer remove mirasvit/module-product-kit mirasvit/module-product-kit-hyva

1.1.4

(2024-12-24)

Fixed

  • Issue related to currency conversion ([#225]())

1.1.3

(2024-10-07)

Fixed

  • Kit discount is not displayed in cart on Hyva before cart is refreshed.
  • Cart condition "Has Kit" is not validated for rules with the action "for whole cart"

1.1.2

(2024-09-06)

Improvements

  • Added option for managing stock for kits

Fixed

  • Kit item discount is not validated

1.1.1

(2024-08-30)

Improvements

  • Added new option "Allow Backordered items for kit"

Fixed

  • Kit item discount is not validated

1.1.0

(2024-08-12)

Improvements

  • Hyva compatibility

1.0.63

(2024-07-18)

Fixed

  • Kit discount not always applied to items

1.0.62

(2024-06-21)

Fixed

  • Notice: Undefined offset: 1 in KitBuilderService
  • Non-salable product displaying kit when using multistock

1.0.61

(2024-05-22)

Fixed

  • Kit discount applied twice in M247

1.0.60

(2024-05-03)

Improvements

  • Allow using tags in the kit frontend titles

1.0.59

(2024-03-18)

Fixed

  • Disable Add to Cart button if no kit combination is selected

1.0.58

(2024-01-09)

Fixed

  • Kit with conditions by attribute does not work in ee

1.0.57

(2023-12-26)

Fixed

  • Deprecated Creation of dynamic property in CronKitReindex

1.0.56

(2023-12-21)

Improvements

  • Added cron job to reindex kit by cron every 2 hours to keep smart kit products updated

1.0.55

(2023-12-05)

Fixed

  • Allow to use all optional items in kits

1.0.54

(2023-11-20)

Fixed

  • Issue when kit with conditions by attribute does not display on the product page

Improvements

  • Added settings for multistores

1.0.53

(2023-10-24)

Fixed

  • Error "Unknown column 'entity_id' in 'on clause'"

1.0.52

(2023-09-15)

Fixed

  • Wrong base grand total when kit uses with cart price rules

1.0.51

(2023-06-21)

Fixed

  • Deprecated Functionality: stripos(): Passing null to parameter #1 ($haystack) in EE magento/module-price-permissions

1.0.50

(2023-05-05)

Fixed

  • Deprecated Functionality: stripos(): Passing null to parameter #1 ($haystack) in EE magento/module-price-permissions

1.0.48

(2023-03-21)

Fixed

  • Main product price update for configurable product with dropdown options.

1.0.47

(2023-03-15)

Fixed

  • PHP 8.2

1.0.46

(2023-03-08)

Fixed

  • Discount and Qty fields do not update correctly

Improvements

  • Added new discount type "Final Price" - field Discount contains the final price in the cart if the product price is greater

1.0.45

(2023-02-15)

Fixed

  • Discount does not apply on Magento before v2.4.5
  • Added trigger "contentLoading" for the add-to-cart event

1.0.44

(2023-01-30)

Fixed

  • Discount calculation for different qty

1.0.43

(2023-01-25)

Fixed

  • Discount multiplying in m2.4.5

1.0.42

(2023-01-19)

Fixed

  • Rule validation for the action "is part of a kit"
  • Qty does not apply to the discount

1.0.41

(2022-09-05)

Fixed

  • Issue when products merged in the kit

1.0.40

(2022-08-10)

Fixed

  • Display of a kit block for Enterprise version.

1.0.39

(2022-06-20)

Improvements

  • remove db_schema_whitelist.json

1.0.38

(2022-06-03)

Fixed

  • Uncheck of a kit item does not work for some theme

1.0.37

(2022-06-01)

Improvements

  • Migrate to declarative schema

Fixed

  • Addition of the products with not required options
  • Optional product selection
  • Compatibility with m2.4.4

1.0.36

(2022-01-21)

Improvements

  • Added label to the kit products in the cart
  • Render not required product options

Fixed

  • Display of the product kit for multi stock products

1.0.35

(2021-11-25)

Fixed

  • Selecting of default options for bundle product
  • Storing of products data with paging
  • Compatibility with Magepow_Ajaxcart and Bss_PreOrder

1.0.34

(2021-10-26)

Improvements

  • Added new widget with list of all available kits. It's allows to create page or category with all available bundle offers.

1.0.33

(2021-08-26)

Fixed

  • Compatibility with Magento 2.4.3
  • Fixed the ability to exclude primary product

1.0.32

(2021-08-10)

Fixed

  • Issue when unable to add kit to the cart with option of type "File"
  • Custom option selection

1.0.31

(2021-08-05)

Improvements

  • Added Kit conditions to the sales rule actions and conditions

1.0.30

(2021-07-30)

Fixed

  • Compatibility with m2.1

Improvements

  • Added kit option "Skip discounted products"

1.0.29

(2021-06-07)

Fixed

  • Render of the kit block for configurable products

1.0.28

(2021-06-01)

Fixed

  • Issue when disabled products display in the kit

1.0.27

(2021-05-24)

Fixed

  • Display of the kit per storeview
  • Compatibility with Codazon theme

Improvements

  • Added widget for kit block

1.0.26

(2021-05-13)

Fixed

  • Display of the product discount

1.0.25

(2021-04-19)

Fixed

  • Fix delete message for m2.4

1.0.24

(2021-04-02)

Fixed

  • Render options of the configurable products

1.0.23

(2021-03-05)

Fixed

  • Discount calculation when "Display Prices" = "Including Tax"

Improvements

  • Added option "Discount Text"

1.0.22

(2021-02-23)

Fixed

  • Issue when reindex failed for rules with multiple attributes
  • The issue when price does not change on product options changing on the frontend
  • Issue when another discounts applied to the kit products

1.0.21

(2021-01-26)

Fixed

  • Issue when product kit does not show when "Backorders" set to "Allow Qty Below 0"

1.0.20

(2021-01-19)

Fixed

  • Issue with product price for multi currency storeviews

1.0.18

(2020-12-11)

Fixed

  • Defining of a product availability
  • Mobile style

Improvements

  • Added "Cancel" button to the selection block
  • Compatibility with Codazon_GoogleAmpManager v0.1.0

1.0.17

(2020-11-06)

Fixed

  • Product selection window does not appear when custom stock enabled
  • Compatibility with Aheadworks_ShopByBrand

1.0.16

(2020-11-03)

Fixed

  • Display Kit prices when tax included in the price

1.0.15

(2020-09-11)

Improvements

  • Small spelling fixes

1.0.14

(2020-08-31)

Improvements

  • Added ability for customers to choose a product for the position.

1.0.13

(2020-08-20)

Improvements

  • Support of Magento 2.4

1.0.11

(2020-07-08)

Fixed

  • Price formatting in the backend
  • Undefined position on m2.2.9
  • Validation of virtual product qty for a product kit

Features

  • Added GraphQL implementation

1.0.9

(2020-06-23)

Fixed

  • Formating of kit prices
  • Validation of product qty for a product kit

1.0.8

(2020-06-19)

Fixed

  • Error "Undefined index: position in Mirasvit/ProductKit/Controller/Adminhtml/Kit/PostDataProcessor.php"
  • Compatibility with m2.2.9

Features

  • Added new discount type "Relative Kit - %, %, %"

1.0.6

(2020-06-09)

Fixed

  • Unable to add grouped product to the cart

1.0.5

(2020-06-05)

Fixed

  • Product kit generation

1.0.4

(2020-06-01)

Features

  • Added options: "Bind product kit block to" and "Bind position"
  • Added new discount type "Relative - %, %, %"
  • Added condition "Product Type"
  • Added configuration option "Maximum number of kits in the block"

1.0.3

(2020-05-13)

Fixed

  • Reindex for products with multiple categories
  • Display of product image in the MGS theme
  • Product price when tax is included
  • Mobile styles
  • Auto redirect to the cart

1.0.2

(2020-05-04)

Features

  • Ability to display kits on the shopping cart page
  • Added "Primary product" functionality

1.0.1

(2020-04-30)

Features

  • Compatibility with Magento 2.3.5

1.0.0

(2020-04-23)

Features

  • Initial release