lenius / laravel-basket
Laravel 购物车包
v4.0.0
2021-01-06 23:01 UTC
Requires
- php: ^7.4|^8.0
- lenius/basket: ^4.0
Requires (Dev)
- illuminate/console: ^7.0
- illuminate/support: ^7.0
- phpstan/phpstan: 0.12.x-dev
README
Lenius\Basket 的 Laravel Facade 和 Service Provider
安装
使用 composer
$ composer require lenius/laravel-basket $ composer require lenius/laravel-basket^4.0 (PHP7.4)
使用 artisan 设置演示
$ php artisan make:auth $ php artisan make:ecommerce
安装 npm 依赖
$ npm install v-money $ npm install vue-sortable $ npm install vuedraggable $ npm run dev $ php artisan serve
之后你应该可以开始使用以下静态接口访问购物车
//Format array of required info for item to be added to basket... $items = array( 'id' => 1, 'name' => 'Dog', 'price' => 120.00, 'quantity' => 1, 'weight' => 200 ); //Make the insert... Basket::insert(new Item($items)); //Let's see what we have got in their... dd(Basket::totalItems());
设置商品的税率
你可以传递给插入方法的另一个键是 'tax'。这是一个百分比,你想将其添加到商品价格上。
在下面的示例中,我们将使用 25% 的税率。
Basket::insert(new Item(array( 'id' => 'mouseid', 'name' => 'Mouse', 'price' => 100, 'quantity' => 1, 'tax' => 25, 'weight' => 200 )));
更新购物车中的商品
你可以通过更新购物车项的任何属性来更新购物车中的商品。例如,如果你在购物车循环中,则可以使用以下示例更新特定商品。
foreach (Basket::contents() as $item) { $item->name = 'Foo'; $item->quantity = 1; }
删除购物车商品
你可以通过使用任何购物车项上的 remove() 方法来删除购物车中的任何商品。
foreach (Basket::contents() as $item) { $item->remove(); }
销毁/清空购物车
你可以通过使用 destroy() 方法完全清空/销毁购物车。
Basket::destroy()
检索购物车内容
你可以使用以下方法循环购物车内容
Basket::contents();
你也可以通过将 true 作为第一个参数传递来返回购物车项作为数组
Basket::contents(true);
检索购物车中商品的总数
Basket::totalItems();
默认情况下,此方法将返回购物车中的所有商品及其数量。你可以通过将 true 作为第一个参数传递来获取所有唯一的商品。
Basket::totalItems(true);
检索购物车总额
$Basket->total();
默认情况下,total() 方法将返回购物车的总价值作为 float,这将包括任何商品税。如果你想要检索不包含税的购物车总额,你可以通过将 false 传递给 total() 方法来实现。
Basket::total(false);
检查购物车中是否有商品
Basket::has($itemIdentifier);
通过标识符检索商品对象
Basket::item($itemIdentifier);
购物车商品
购物车商品具有一些可能有助于集成购物车的功能。
检索商品的总价值
你可以使用以下方法检索特定购物车商品(包括数量)的总价值。
Basket::total();
默认情况下,此方法将返回商品的总价值加上税。所以如果你有一个售价 100 的产品,数量为 2,税率为 20%,则此方法返回的总价值为 240。
你也可以通过将 false 传递给 total() 方法来获取减去税的总价值。
Basket::total(false);
这将返回 200。
检查商品是否有选项
你可以使用 hasOptions() 方法来检查购物车商品是否有选项。
if ($item->hasOptions()) { // We have options }
从购物车中删除商品
$item->remove();
你还可以获取单个商品的总重量
$item->weight();
以数组形式输出商品数据
$item->toArray();