PHPackages                             kuriousagency/commerce-bundles - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. kuriousagency/commerce-bundles

Abandoned → [webdna/commerce-bundles](/?search=webdna%2Fcommerce-bundles)Craft-plugin

kuriousagency/commerce-bundles
==============================

Bundles plugin for Craft Commerce

1.2.2(3y ago)33.2k5[4 issues](https://github.com/webdna/commerce-bundles/issues)proprietaryPHP

Since May 28Pushed 2y ago1 watchersCompare

[ Source](https://github.com/webdna/commerce-bundles)[ Packagist](https://packagist.org/packages/kuriousagency/commerce-bundles)[ RSS](/packages/kuriousagency-commerce-bundles/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (33)Used By (0)

Bundles plugin for Craft CMS 3.x
================================

[](#bundles-plugin-for-craft-cms-3x)

Create a bundle purchasable of existing commerce products.

Requirements
------------

[](#requirements)

This plugin requires Craft CMS 3.0.0-beta.23 or later.

Installation
------------

[](#installation)

To install the plugin, follow these instructions.

1. Open your terminal and go to your Craft project:

    ```
     cd /path/to/project

    ```
2. Then tell Composer to load the plugin:

    ```
     composer require webdna/commerce-bundles

    ```
3. In the Control Panel, go to Settings → Plugins and click the “Install” button for Bundles.

Bundles Overview
----------------

[](#bundles-overview)

Bundles allows you to create a bundle containing a combination of different products (or a single product with multiple quantities). Set an overall price for the bundle, giving you the option to offer a discount or promotion (for example 3 for 2).

Configuring Bundles
-------------------

[](#configuring-bundles)

**Bundle Types**

Bundle Types is where you can define the template and URL for bundle. You can add any custom fields to your bundle types.

[![Screenshot](resources/screenshots/bundle-types.png)](resources/screenshots/bundle-types.png)

[![Screenshot](resources/screenshots/bundle-type-fields.png)](resources/screenshots/bundle-type-fields.png)

**Bundles**

Here is where you setup your Bundle, select the products and quantities of the product that make up the Bundle. Similar to Commerce Products add an SKU and price for the Bundle.

[![Screenshot](resources/screenshots/bundle.png)](resources/screenshots/bundle.png)

Using Bundles
-------------

[](#using-bundles)

You can access your bundles from your templates using a bundle query:

```
{% set myBundleQuery = craft.bundles() %}
```

When you access a bundle directly via it's URL the `bundle` variable is available.

---

**Available Methods**

Once you have your bundle there are methods for accessing the bundles products and quanities, and for checking stock.

*Products*

```
{# Returns an array of the bundles products (Commerce Variant object) #}

bundle.getProducts()
```

*Quantities*

```
{# Returns an array of quantites with the key set to the variantId #}

bundle.getQtys()
```

*Stock*

```
{# checks to see if all the products in the bundle have stock #}

bundle.hasStock()
```

---

**Fields**

Bundles also includes a *Bundles* field type.

[![Screenshot](resources/screenshots/bundle-field-type.png)](resources/screenshots/bundle-field-type.png)

Example
-------

[](#example)

Display a list of products and quantities that make up the bundle.

```
{% for id,qty in bundle.getQtys() %}
   {{ qty ~ ' x ' ~ craft.variants.id(id).one.description }}
{% endfor %}
```

Brought to you by [webdna](https://webdna.co.uk)

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 57.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~51 days

Recently: every ~72 days

Total

31

Last Release

1012d ago

Major Versions

1.2.2 → 2.0.0-beta.12022-08-11

### Community

Maintainers

![](https://www.gravatar.com/avatar/af76e3e79806ca4a242a00774c92bc950a956c4ac8d3fa5d545e758e4617599b?d=identicon)[webdna](/maintainers/webdna)

![](https://www.gravatar.com/avatar/26ccb4d99d148ee882e53248f814559cf2067c069cf1e4a1765d1eca07a3df3c?d=identicon)[Kurious](/maintainers/Kurious)

---

Top Contributors

[![mcjackson18](https://avatars.githubusercontent.com/u/39083512?v=4)](https://github.com/mcjackson18 "mcjackson18 (15 commits)")[![samuelbirch](https://avatars.githubusercontent.com/u/13586?v=4)](https://github.com/samuelbirch "samuelbirch (9 commits)")[![CharlieGentle](https://avatars.githubusercontent.com/u/15872856?v=4)](https://github.com/CharlieGentle "CharlieGentle (1 commits)")[![gijsstegehuis](https://avatars.githubusercontent.com/u/5496039?v=4)](https://github.com/gijsstegehuis "gijsstegehuis (1 commits)")

---

Tags

cmsbundlesCraftcraftcmscraft-plugin

### Embed Badge

![Health badge](/badges/kuriousagency-commerce-bundles/health.svg)

```
[![Health](https://phpackages.com/badges/kuriousagency-commerce-bundles/health.svg)](https://phpackages.com/packages/kuriousagency-commerce-bundles)
```

###  Alternatives

[nystudio107/craft-seomatic

SEOmatic facilitates modern SEO best practices &amp; implementation for Craft CMS 5. It is a turnkey SEO system that is comprehensive, powerful, and flexible.

1741.4M46](/packages/nystudio107-craft-seomatic)[verbb/image-resizer

Resize assets when they are uploaded.

127269.1k7](/packages/verbb-image-resizer)[verbb/events

A full-featured plugin for event management and ticketing.

2311.7k](/packages/verbb-events)[verbb/tablemaker

Create customizable and user-defined table fields.

40168.8k1](/packages/verbb-tablemaker)[acclaro/translations

Easily launch and manage multilingual Craft websites without having to copy/paste content or manually track updates.

1229.5k](/packages/acclaro-translations)[verbb/gift-voucher

Sell and redeem digital gift vouchers for Craft Commerce.

1322.5k1](/packages/verbb-gift-voucher)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
