itemvirtual / ecommerce-cart
Laravel 的购物车
1.0.1
2024-07-02 12:05 UTC
Requires
- php: ^7.4|^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
这里应该放置你的描述。尽量限制为一两段话,并提及你支持的PSR,以避免用户和贡献者产生混淆。
安装
通过 composer 安装此包
composer require itemvirtual/ecommerce-cart
发布配置(使用 --force
选项更新)
php artisan vendor:publish --provider="Itemvirtual\EcommerceCart\EcommerceCartServiceProvider" --tag=config
你可以更改 config
中的 cart_session_name
和 taxes_included
的值
#ECOMMERCE_CART_SESSION_NAME="ecommerceCart" ECOMMERCE_TAXES_INCLUDED=true ECOMMERCE_CALCULATE_TOTALS=true
将 EcommerceCart
添加到你的 config/app
别名数组中
'EcommerceCart' => Itemvirtual\EcommerceCart\Facades\EcommerceCart::class,
用法
使用 EcommerceCart
Facade
use Itemvirtual\EcommerceCart\Facades\EcommerceCart;
向购物车添加产品
EcommerceCart::addToCart([ 'id' => $Product->id, 'title' => $Product->name, 'price' => floatval($Product->price), 'tax' => 21.0, 'amount' => 1, 'data' => [ // add your custom data here 'tax_id' => 1 ] ]);
增加或减少数量
EcommerceCart::incrementCartItem($Product->id); EcommerceCart::decrementCartItem($Product->id);
从购物车中移除
EcommerceCart::removeCartItem($Product->id);
设置税率
EcommerceCart::setTax($float);
税率值将应用于购物车中的每个项目。要设置全局税率值,请使用 setCustomCartData()
它不会影响购物车项的总额计算,它只作为计算总额的数据。
EcommerceCart::setCustomCartData('tax', floatval($tax));
如果你保存了 tax_id
值,你可以使用 updateCartItemsDataValue()
来更改它
EcommerceCart::updateCartItemsDataValue($key, $value); // EcommerceCart::updateCartItemsDataValue('tax_id', 1);
设置应用税率(例如,非欧洲国家)
EcommerceCart::setApplyTax($boolean);
获取总额
自定义总额计算
如果你需要计算购物车总额,请将你的 .env
文件中的 ECOMMERCE_CALCULATE_TOTALS
设置为 false
ECOMMERCE_CALCULATE_TOTALS=false
创建你的服务,并使用 EcommerceCart::getItems()
获取购物车内容
$cartItems = EcommerceCart::getItems();
总额计算
EcommerceCart::getTotal(); EcommerceCart::getSubtotal(); // return taxes array EcommerceCart::getTaxTotals(); // return total tax amount EcommerceCart::getTaxTotalValue(); // Get total without shipping EcommerceCart::getTotalWithoutShipping();
运输
添加全球运输
$ShippingData = [ 'id' => $Shipping->id, 'title' => $Shipping->title, 'value' => $Shipping->value, 'free_from' => $Shipping->free_from, ]; EcommerceCart::setShipping($ShippingData);
移除运输数据
EcommerceCart::removeShipping();
获取运输数据
EcommerceCart::getShipping(); // Returns an object with 4 or 5 properties { +"id": 3 +"title": "Europe" +"value": 10 +"free_from": 200 +"free": true }
获取购物车项
$cartItems = EcommerceCart::getItems(); EcommerceCart::hasItems(); EcommerceCart::countItems();
销毁购物车
EcommerceCart::destroyCart();
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近的变化。
贡献
请参阅 CONTRIBUTING 了解详细信息。
鸣谢
许可
MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。