chuckbe / chuckcms-module-ecommerce
ChuckCMS使用的电子商务模块
Requires
- php: >=7.2.0
- chuckbe/chuckcms: ~0.2
- laravel/framework: ^6.20.26||^7.30.4||^8.82.2||^9.0||^10.0
- mollie/laravel-mollie: ^2.0
- dev-master
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.33
- v0.1.32
- v0.1.31
- v0.1.30
- v0.1.29
- v0.1.28
- v0.1.27
- v0.1.26
- v0.1.25
- v0.1.24
- v0.1.23
- v0.1.22
- v0.1.21
- v0.1.20
- v0.1.19
- v0.1.18
- v0.1.17
- v0.1.16
- v0.1.15
- v0.1.14
- v0.1.13
- v0.1.12
- v0.1.11
- v0.1.10
- v0.1.9
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-master_temp
- dev-feature-mollie-orders
- dev-fbimporter
This package is auto-updated.
Last update: 2024-09-06 00:10:14 UTC
README
扩展ChuckCMS以支持电子商务
将此包作为模块添加到您的ChuckCMS安装中,以添加电子商务功能。该包需要ChuckCMS和一个可用的电子商务模板(请查看chuckbe/chuckcms-template-london)。
如何安装?
使用Composer进行安装
composer require chuckbe/chuckcms-module-ecommerce
发布资源
php artisan vendor:publish --tag=chuckcms-module-ecommerce-public --force
发布配置文件
php artisan vendor:publish --tag=chuckcms-module-ecommerce-config --force
在发布的文件config/chuckcms-module-ecommerce.php
中,您可以更改业务详情、语言和货币设置以及其他一般配置。
将模块添加到ChuckCMS
使用以下命令将模块发布到ChuckCMS。您可以使用相同的命令更新现有安装,但请注意,所有设置将被覆盖。
php artisan chuckcms-module-ecommerce:install
安装电子商务模块将与当前用户的角色冲突。请前往数据库并导航到'model_has_roles'表。将所有'model_type'值更改为
Chuckbe\ChuckcmsModuleEcommerce\Models\User
为了使身份验证正常工作,您需要更新
config/chuckcms.php
。将所有控制器的命名空间从Chuckbe\Chuckcms\...
更改为Chuckbe\ChuckcmsModuleEcommerce\...
。
迁移表
php artisan migrate
列表
- 将Mollie webhook URL添加到VerifyCsrfToken的可接受列表中
接口
ChuckCart
此门面控制与购物车功能相关的所有内容
- 购物车
- 购物车项
- 购物车项折扣
- 购物车项额外项
- 购物车项选项
购物车
购物车可以包含商品和折扣,这些存储在会话中,可以使用相应的方法存储在数据库中。
方法
CartItem
购物车项可以具有选项、额外项和折扣,除了给定的属性外。
属性
$cartItem->rowId
返回唯一标识符。
$cartItem->id
返回给定的id(非唯一)。
$cartItem->name
返回给定的名称。
$cartItem->qty
返回数量。
$cartItem->price
返回包括或排除税收(根据设置)的价格(无折扣)。
$cartItem->tax
返回整个项目的最终税收。
$cartItem->_discount
返回总价折扣值。
$cartItem->total
返回小计 * 单价。
$cartItem->options
返回给定选项(所选属性)的商品。
$cartItem->extras
返回给定额外项的商品。
$cartItem->discounts
返回与商品相关联的CartItemDiscount集合。
-
$cartItem->model
-
$cartItem->taxRate
返回给定商品的模型或null。
$cartItem->isSaved
计算示例
// 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)