lenius / laravel-basket

Laravel 购物车包

v4.0.0 2021-01-06 23:01 UTC

This package is auto-updated.

Last update: 2024-09-07 06:50:18 UTC


README

Total Downloads StyleCI Latest Stable Version License

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

打开 https://:8000/basket

之后你应该可以开始使用以下静态接口访问购物车

//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();