lenius / laravel-ecommerce
适用于laravel 10 & 11的购物篮包
v2.0.5
2024-03-13 19:26 UTC
Requires
- php: ^8.0
- illuminate/auth: ^8.0|^9.0|^10|^11
- illuminate/container: ^8.0|^9.0|^10|^11
- illuminate/contracts: ^8.0|^9.0|^10|^11
- illuminate/database: ^8.0|^9.0|^10|^11
- lenius/basket: ^5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- nunomaduro/larastan: ^0.6.12|^2.0
- orchestra/testbench: ^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.0
- vimeo/psalm: ^4.3
README
安装
您可以使用composer安装此包:
composer require lenius/laravel-ecommerce
然后您可以导出配置
php artisan vendor:publish --provider="Lenius\LaravelEcommerce\EcommerceServiceProvider" --tag="config" php artisan vendor:publish --provider="Lenius\LaravelEcommerce\EcommerceServiceProvider" --tag="lang" php artisan vendor:publish --provider="Lenius\LaravelEcommerce\EcommerceServiceProvider" --tag="views"
概述
查看以下主题以获取更多信息:
使用方法
购物车提供了以下方法供您使用:
Cart::insert()
向购物车添加商品非常简单,您只需使用insert()
方法,该方法接受多种参数。
在其最基本的形式中,您可以指定要添加到购物车的商品的id、名称、数量和价格。
Cart::insert(new Item([ 'id' => 'foo', 'name' => 'bar', 'price' => 100, 'quantity' => 2, 'weight' => 300 ]));
Cart::insert()接受实现ItemInterface的类
class CustomItem implements ItemInterface { }
向购物车中添加带有选项的商品
向购物车中添加商品非常简单。必需的键是id、name、price和quantity,尽管您可以传递任何您喜欢的自定义数据。如果选项商品包含价格或重量,则这些值将添加到产品的总重量/价格中。
Cart::insert(new Item([ 'id' => 'foo', 'name' => 'bar', 'price' => 100, 'quantity' => 2, 'weight' => 300, 'options' => [ [ 'name' => 'Size', 'value' => 'L', 'weight' => 50, 'price' => 10 ], ], ]));
设置商品税率
您可以传递给insert方法的另一个键是'tax'。这是一个百分比,您希望将其添加到商品的价格上。
在下面的示例中,我们将使用25%的税率。
Cart::insert(new Item([ 'id' => 'mouseid', 'name' => 'Mouse', 'price' => 100, 'quantity' => 1, 'tax' => 25, 'weight' => 200 ]));
更新购物车中的商品
您可以通过更新购物车项的任何属性来更新您的购物车中的商品。例如,如果您在一个购物车循环中,则可以使用下面的示例来更新特定的商品。
foreach (Cart::contents() as $item) { $item->name = 'Foo'; $item->setQuantity(1); }
销毁/清空购物车
您可以使用destroy()
方法完全清空/销毁购物车。
Cart::destroy()
检索购物车内容
您可以使用以下方法循环购物车内容:
Cart::contents();
您还可以通过将true作为第一个参数传递来以数组的形式返回购物车项。
Cart::contents(true);
检查购物车是否包含商品
Cart::has($itemIdentifier);
从购物车中移除商品
Cart::remove($itemIdentifier)
增加购物车中的商品数量
Cart::inc($itemIdentifier)
减少购物车中的商品数量
Cart::dec($itemIdentifier)
事件
购物车还内置了事件。有五个事件可供您监听。
测试
使用以下命令运行测试:
composer psalm
composer stan
composer test
composer test-coverage
贡献
有关详细信息,请参阅CONTRIBUTING。
安全性
如果您发现任何安全相关的问题,请通过电子邮件info@lenius.dk报告,而不是使用问题跟踪器。
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。