PHPackages                             chuckbe/chuckcms-module-ecommerce - 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. chuckbe/chuckcms-module-ecommerce

ActiveLibrary

chuckbe/chuckcms-module-ecommerce
=================================

E-commerce module for use in ChuckCMS

v0.2.8(2y ago)1198[1 PRs](https://github.com/chuckbe/chuckcms-module-ecommerce/pulls)BladePHP &gt;=7.2.0

Since May 24Pushed 2y ago1 watchersCompare

[ Source](https://github.com/chuckbe/chuckcms-module-ecommerce)[ Packagist](https://packagist.org/packages/chuckbe/chuckcms-module-ecommerce)[ Docs](https://github.com/chuckbe/chuckcms-module-ecommerce)[ RSS](/packages/chuckbe-chuckcms-module-ecommerce/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (47)Used By (0)

ChuckCMS Module: Ecommerce
==========================

[](#chuckcms-module-ecommerce)

[![Latest Stable Version](https://camo.githubusercontent.com/0dc9e1d4ef4c5ec2d2ee6cdb0632188033e8d728af07949c1f66d7c88a634977/68747470733a2f2f706f7365722e707567782e6f72672f636875636b62652f636875636b636d732d6d6f64756c652d65636f6d6d657263652f76657273696f6e2e706e67)](https://packagist.org/packages/chuckbe/chuckcms-module-ecommerce) [![Total Downloads](https://camo.githubusercontent.com/91a7a5f0ecbf2f5e0d7e0c694cf250f0e25423bb26079525eaa5a26fa8eee308/68747470733a2f2f706f7365722e707567782e6f72672f636875636b62652f636875636b636d732d6d6f64756c652d65636f6d6d657263652f642f746f74616c2e706e67)](https://packagist.org/packages/chuckbe/chuckcms-module-ecommerce)

### Extend ChuckCMS with ecommerce

[](#extend-chuckcms-with-ecommerce)

Add this package as a module to your ChuckCMS installation to add ecommerce functionality. The package requires ChuckCMS and a functioning ecommerce template (look into chuckbe/chuckcms-template-london).

How to install?
---------------

[](#how-to-install)

### Use Composer to install

[](#use-composer-to-install)

```
composer require chuckbe/chuckcms-module-ecommerce

```

### Publish assets

[](#publish-assets)

```
php artisan vendor:publish --tag=chuckcms-module-ecommerce-public --force

```

### Publish config files

[](#publish-config-files)

```
php artisan vendor:publish --tag=chuckcms-module-ecommerce-config --force

```

In the published file `config/chuckcms-module-ecommerce.php` you can change business details, language and currency settings among other general configuration.

### Add the module to ChuckCMS

[](#add-the-module-to-chuckcms)

Use the following command to publish the module to ChuckCMS. You can use the same command to update an existing installation but be aware that all your settings will be overriden.

```
php artisan chuckcms-module-ecommerce:install

```

> Installing the ecommerce module will conflict with your current users' role. Go to the DB and navigate to the 'model\_has\_roles' table. Change all the 'model\_type' values into `Chuckbe\ChuckcmsModuleEcommerce\Models\User`

> For the authentication to be working you need to update the `config/chuckcms.php`. Change all the controllers' namespace from `Chuckbe\Chuckcms\...`into `Chuckbe\ChuckcmsModuleEcommerce\...`.

### Migrate tables

[](#migrate-tables)

```
php artisan migrate

```

#### List

[](#list)

1. Add Mollie webhook URL to excepted on VerifyCsrfToken
2.

#### Interfaces

[](#interfaces)

##### ChuckCart

[](#chuckcart)

This facade controls everything related to the cart functionality:

- Cart
- CartItems
- CartItemDiscount
- CartItemExtras
- CartItemOptions

###### Cart

[](#cart)

A cart can contain items and discounts, these are stored in the session and can be stored in the database using the appropriate methods.

*Methods*

###### CartItem

[](#cartitem)

A cart item can have options, extras, and discounts besides the given attributes.

*Attributes*

- `$cartItem->rowId`

> Returns the unique identifier.

- `$cartItem->id`

> Returns the given id (non-unique).

- `$cartItem->name`

> Returns the given name.

- `$cartItem->qty`

> Returns the quantity.

- `$cartItem->price`

> Returns the price including or excluding tax (settings dependent) without discounts.

- `$cartItem->tax`

> Returns the final tax for the whole item.

- `$cartItem->_discount`

> Returns the discount value for the total price.

- `$cartItem->total`

> Returns the subtotal \* unit price.

- `$cartItem->options`

> Returns the given options (selected attributes) of the item.

- `$cartItem->extras`

> Returns the given extras of the item.

- `$cartItem->discounts`

> Returns a collection of CartItemDiscount linked to the item.

- `$cartItem->model`
- `$cartItem->taxRate`

> Returns the given model of the item or null.

- `$cartItem->isSaved`

Example of calculation:

```
        // NEW CART ITEM
        // TAXED            = TRUE
        // UNIT BASE        = 4.00          =           $ITEM->PRICE
        // TAXRATE          = 21            =           $ITEM->TAXRATE
        // UNIT EXTRAS      = 2.12          =           $ITEM->EXTRAS->TOTAL
        // UNIT RAW         = 6.120000      =           UNIT BASE + UNIT EXTRAS
        // UNIT             = 6.12          =           round(UNIT RAW)
        // QTY              = 6             =           $ITEM->QTY

        // TOTAL BASE       = 24.00         =           QTY * UNIT BASE
        // TOTAL EXTRAS     = 12.72         =           QTY * UNIT EXTRAS
        // TOTAL RAW        = 36.720000     =           QTY * UNIT RAW
        // TOTAL            = 36.72         =           QTY * UNIT

        // DISCOUNT BASE    = 2.400         =           calculateDiscount(TOTAL BASE)
        // DISCOUNT EXTRAS  = 1.272         =           calculateDiscount(TOTAL EXTRAS)
        // DISCOUNT RAW     = 3.672         =           calculateDiscount(TOTAL RAW)
        // DISCOUNT         = 3.67          =           round(calculateDiscount(TOTAL))

        // FINAL BASE       = 21.60         =           round(TOTAL BASE - DISCOUNT BASE)
        // FINAL EXTRAS     = 11.45         =           round(TOTAL EXTRAS - DISCOUNT EXTRAS)
        // FINAL RAW        = 33.048        =           TOTAL RAW - DISCOUNT RAW
        // FINAL            = 33.05         =           round(TOTAL RAW - DISCOUNT RAW)

        // TAX BASE         = 3.75          =           round( TAX BASE RAW )
        // TAX BASE RAW     = 3.74876033    =           ((TOTAL BASE - DISCOUNT BASE) / (100 + TAXRATE)) * TAXRATE
        // TAX EXTRAS       = 0.65          =           round( TAX EXTRAS RAW )
        // TAX EXTRAS RAW   = 0.65026415    =           ((TOTAL EXTRAS - DISCOUNT EXTRAS) / (100 + TAXRATE)) * TAXRATE
        // TAX RAW          = 4.40          =           TAX BASE RAW + TAX EXTRAS RAW
        // TAX              = 4.40          =           round(TAX RAW)

        // TAX RATES        = [21, 6]       =           taxRates()
        // TAX FOR RATE[21] = 3.75          =           taxForRate(21)
        // TAX FOR RATE[6]  = 0.65          =           taxForRate(6)

```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 74.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 ~28 days

Recently: every ~9 days

Total

43

Last Release

977d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5599ac2c2c73cedb92bd392657a3f13f3b01bc982ab75b4b84a90417ee1edaef?d=identicon)[KarelBrijs](/maintainers/KarelBrijs)

---

Top Contributors

[![KarelBrijs](https://avatars.githubusercontent.com/u/16884712?v=4)](https://github.com/KarelBrijs "KarelBrijs (118 commits)")[![rawaldeepSingh](https://avatars.githubusercontent.com/u/72438185?v=4)](https://github.com/rawaldeepSingh "rawaldeepSingh (40 commits)")

---

Tags

phplaravelcmschuckcmschuckbe

### Embed Badge

![Health badge](/badges/chuckbe-chuckcms-module-ecommerce/health.svg)

```
[![Health](https://phpackages.com/badges/chuckbe-chuckcms-module-ecommerce/health.svg)](https://phpackages.com/packages/chuckbe-chuckcms-module-ecommerce)
```

###  Alternatives

[laracraft-tech/laravel-xhprof

Easy XHProf setup to profile your laravel application!

235321.4k](/packages/laracraft-tech-laravel-xhprof)[kompo/kompo

Laravel &amp; Vue.js FullStack Components for Rapid Application Development

11812.4k21](/packages/kompo-kompo)

PHPackages © 2026

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