bahaaalhagar/shoppingcart

Laravel 简单购物车包

0.1.1 2019-09-01 13:39 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:25:43 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

为 Laravel 实现的一个简单的 ShoppingCart。

安装

通过 Composer 安装此包。

	composer require BahaaAlhagar/ShoppingCart

如果您使用的是 Laravel 5.5,这样就完成了。如果您使用的是 Laravel 5.4 或更低版本,那么您需要在您的应用程序中注册包的服务提供者和别名。打开 config/app.php 文件。向 providers 数组添加新行

	BahaaAlhagar\ShoppingCart\ShoppingCartServiceProvider::class,

并向 aliases 数组添加新行

	'Cart' => BahaaAlhagar\ShoppingCart\Facades\Cart::class,

使用方法

ShoppingCart 提供以下方法供您使用

Cart::add()

向购物车添加项目非常简单,您只需使用 add() 方法,它接受各种参数。

在其最基本的形式中,您可以指定产品模型、要添加到购物车的数量($qty)。请注意,产品模型必须有一个价格列。

Cart::add($productModel, $qty);

如果没有指定 $qty,购物车将假设它是1个项目。

作为可选的第三个参数,您可以传递选项,这样您就可以添加具有相同 ID 的多个项目,但具有不同的尺寸或颜色等。

Cart::add($productModel, $qty, ['size' => 'large', 'color' => 'black']);

add() 方法将返回添加到购物车中的项目的 CartItem 数组。

Cart::modify()

要修改购物车中的项目,您首先需要项目的唯一索引。

唯一索引是项目在购物车模型项目数组中的偏移量。

接下来,您可以使用 modify() 方法来修改它。

如果您只想修改数量,则将唯一索引和新数量传递给修改方法

$uinqueIndex = '20185a4530208f76b2ef3eb95307a021';

Cart::modify($uinqueIndex, 2); // Will modify the quantity

Cart::reduceOneItem()

要减少特定购物车项目的数量,您首先需要项目的唯一索引。

然后

$uinqueIndex = '20185a4530208f76b2ef3eb95307a021';

Cart::reduceOneItem($uinqueIndex); // will reduce item quantity by 1

Cart::remove()

要从购物车中删除项目,您还需要项目的唯一索引。您只需将此唯一索引传递给 remove() 方法,它就会从购物车中删除项目。

$uniqueIndex = '20185a4530208f76b2ef3eb95307a021';

Cart::remove($uniqueIndex);

Cart::getContent()

当然,您也想获取购物车的商品内容。这就是您将使用 getContent 方法的地方。此方法将返回一个 Cart 模型,您可以迭代并显示给您的客户。

Cart::getContent();

Cart::destroy()

如果您想要完全删除购物车的内容,可以在购物车上调用 destroy 方法。这将从会话中删除购物车。

Cart::destroy();

Cart::total()

total() 方法可以用来获取购物车中所有项目的计算总价,考虑到它们的价格和数量。

Cart::total();

Cart::count()

如果您想知道购物车中有多少个项目,可以使用 count() 方法。此方法将返回购物车中项目的总数。因此,如果您添加了 2 本书和 1 件衬衫,它将返回 3 个项目。

Cart::count();

异常

如果出现问题,购物车包将抛出异常。这样,使用购物车包进行调试或根据异常类型处理错误就更容易了。购物车包可以抛出以下异常

事件

购物车还内置了事件。有五个事件可供您监听。

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

请参阅CONTRIBUTINGCODE_OF_CONDUCT以获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件bahaa.rock@gmail.com联系,而不是使用问题跟踪器。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。