1、安装
通过Composer安装扩展包:
composer require syscover/shoppingcart dev-master
然后到config/app.php的providers中注册服务提供者:
SyscoverShoppingcartShoppingcartServiceProvider::class,
同时在aliases中注册门面:
'CartProvider' => SyscoverShoppingcartFacadesCartProvider::class,
发布扩展包的配置文件到config目录:
php artisan vendor:publish --provider="SyscoverShoppingcartShoppingcartServiceProvider"
之后你可以运行PHPUnit单元测试:
phpunit tests/CartProviderTest
以测试扩展包是否有问题。
2、使用
ShoppingCart扩展包为我们操作购物车提供了丰富的方法。
添加到购物车
// 通过add方法添加
CartProvider::instance()->add('293ad', 'Product 1', 1, 9.99, array('size' => 'large'));
// 通过数组添加
CartProvider::instance()->(['id' => '293ad', 'name' => 'Product 1', 'qty' => 1, 'price' => 9.99, 'options' => array('size' => 'large')]);
// 批量添加
CartProvider::instance()->([
array('id' => '293ad', 'name' => 'Product 1', 'qty' => 1, 'price' => 10.00),
array('id' => '4832k', 'name' => 'Product 2', 'qty' => 1, 'price' => 10.00, 'options' => array('size' => 'large'))
]);
更新购物车
$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';
//rowId是表示更新的购物车条目ID,第二个参数可以是数字用于表示更新后的数量,也可以是数组表示更新的属性
CartProvider::instance()->update($rowId, 2);
CartProvider::instance()->update($rowId, array('name' => 'Product 1'));
从购物车中移除
$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';
CartProvider::instance()->remove($rowId);
获取购物车数据
//获取指定购物车条目数据
$rowId = 'da39a3ee5e6b4b0d3255bfef95601890afd80709';
CartProvider::instance()->get($rowId);
//获取购物车所有数据
CartProvider::instance()->content();
//获取总价(不包含运费)
CartProvider::instance()->subtotal();
//获取总价(包含运费)
CartProvider::instance()->total();
//获取购物车总条目数
CartProvider::instance()->count();
//搜索购物车是否包含指定条目
CartProvider::instance()->search(array('id' => 1, 'options' => array('size' => 'L')));
清空购物车
CartProvider::instance()->destroy();
更多使用方法请参考SyscoverShoppingcartLibrariesCart类。
多个购物车实例
此外,本扩展包还支持多个购物车实例,你可以通过Cart::instance('newInstance')这种方式来指定实例名称:
CartProvider::instance('shopping')->add('192ao12', 'Product 1', 1, 9.99);
如果要切换,指定相应的实例名称即可:
Cart::instance('wishlist')->add('sdjk922', 'Product 2', 1, 19.95, array('size' => 'medium'));
默认的购物车实例名称是main,不指定实例名称时等同于使用main实例。
本节我们使用现成的扩展包来实现购物车,下一节我们将演示如何在Laravel中纯手工打造购物车功能。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔