jared0430 / cart
用于Laravel 5的简单基于会话的购物车,用于与现有产品模型配合使用
Requires
- php: >=5.4.0
- illuminate/support: ~5.0
This package is not auto-updated.
Last update: 2018-03-28 13:28:43 UTC
README
Laravel 5.1+的简单基于会话的购物车。用于与现有产品模型配合使用。
需求
- Laravel 5.1+
安装
使用 composer require jared0430/cart ~1.1
安装此包
或将它添加到 composer.json
{ "require": { "jared0430/cart": "~1.1" } }
更新composer后,将服务提供者添加到 config/app.php
中的 providers
数组
Jared0430\Cart\CartServiceProvider::class,
并将外观添加到 config/app.php
中的 aliases
数组
'Cart' => Jared0430\Cart\Facades\Cart::class,
更改会话密钥
默认使用 cart
作为会话密钥。您可以通过发布配置文件来更改它
php artisan vendor:publish
这将创建一个新的配置文件 cart.php
方法
add
将产品添加到购物车,如果已存在则增加数量
Cart::add((int)$product_id, (int)$quantity_to_add);
subtract
从购物车中的产品数量中减去
Cart::subtract((int)$product_id, (int)$quantity_to_subtract);
update
直接修改产品的数量。您可以选择是否增加数量或直接用 $add
参数替换它
Cart::update((int)$product_id, (int)$quantity, (bool)$add);
remove
完全从购物车中删除产品
Cart::remove((int)$product_id);
has
确定产品是否在购物车中
Cart::has((int)$product_id);
返回 true
或 false
products
获取购物车中所有项目的列表
Cart::products();
返回一个 集合 实例
count
获取购物车中唯一项目的总数
Cart::count();
返回一个 int
countQty
获取购物车中项目的总数
Cart::countQty();
返回一个 int
clear
清空购物车
Cart::clear();
事件
每次更新购物车时都会触发事件,因此您可以挂钩以执行自己的逻辑。
要监听此事件,您需要在 App\Providers\EventServiceProvider
中注册一个新的 Listener
protected $listen = [ 'Jared0430\Cart\Events\CartWasUpdated' => [ 'App\Listeners\MyCartListener' ] ];
现在运行 php artisan event:generate
,这将创建 App\Listeners\MyCartListener
注意,Laravel 错误地引用了 Jared0430\Cart\Events\CartWasUpdated
为 App\Events\Jared0430\Cart\Events\CartWasUpdated
,因此您需要更正这一点
您可以通过使用$event->cart
来访问此监听器的handle
方法中的购物车,它返回一个集合实例。