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中纯手工打造购物车功能。
创造与魔法 安卓版v1.0.0750
创造与魔法是一款开放世界手游,在游戏中玩家可探索这个奇妙的世
创造与魔法修改版 最新版v1.0.0750
创造与魔法无限点券版是款探索冒险游戏,该款游戏的操作还是蛮自
战争与文明官方版本 安卓版v1.7.16
战争与文明是一款由上海邮通科技有限公司开发的战争策略游戏,这
迷你世界0元领皮肤无限迷你币版 最新安卓版v1.43.0
迷你世界0元购买皮肤版是这款开放沙盒冒险建造游戏的特殊破解版
创造与魔法无限经验版 安卓版v1.0.0750
创造与魔法无限经验版是款可以改造环境,整个游戏的自由度还是蛮