moltin/cart

购物车包

1.1.0 2017-06-11 22:00 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:50:42 UTC


README

Build Status

Moltin购物车Composer包使将购物车集成到您的应用程序中变得简单,并使用提供的众多数据存储之一存储购物车数据。如果您希望将购物车数据存储在其他位置,还可以注入自己的数据存储。

安装

http://www.getcomposer.org/download 下载并安装composer

将以下内容添加到您的项目 composer.json 文件中

{
    "require": {
        "moltin/cart": "dev-master"
    }
}

完成后,只需运行 php composer.phar install,即可使用该包。

使用方法

以下是该包的基本使用指南。

实例化购物车

在开始之前,您需要知道您将使用哪种存储和标识符方法。标识符是您如何存储哪个购物车属于该用户的方式。因此,如果您在数据库中存储购物车,则需要一个cookie(或存储标识符的其他方式),以便我们可以将用户与存储的购物车关联起来。

在本示例中,我们将使用cookie标识符和会话进行存储。

use Moltin\Cart\Cart;
use Moltin\Cart\Storage\Session;
use Moltin\Cart\Identifier\Cookie;

$cart = new Cart(new Session, new Cookie);

将项目插入购物车

将项目插入购物车很简单。必需的键是id、名称、价格和数量,尽管您可以传递您喜欢的任何自定义数据。

$cart->insert(array(
    'id'       => 'foo',
    'name'     => 'bar',
    'price'    => 100,
    'quantity' => 1
));

设置项目的税率

您还可以传递给插入方法的另一个键是'tax'。这是一个百分比,您希望添加到项目的价格上。

在以下示例中,我们将使用20%的税率。

$cart->insert(array(
    'id'       => 'foo',
    'name'     => 'bar',
    'price'    => 100,
    'quantity' => 1,
    'tax'      => 20
));

更新购物车中的项目

您可以通过更新购物车项目上的任何属性来更新您的购物车中的项目。例如,如果您在一个购物车循环中,则可以使用以下示例更新一个特定项目。

foreach ($cart->contents() as $item) {
    $item->name = 'Foo';
    $item->quantity = 1;
}

移除购物车项目

您可以使用任何购物车项目上的remove()方法来移除购物车中的任何项目。

foreach ($cart->contents() as $item) {
    $item->remove();
}

销毁/清空购物车

您可以使用destroy()方法完全清空/销毁购物车。

$cart->destroy()

检索购物车内容

您可以使用以下方法循环购物车内容

$cart->contents();

您还可以通过将true作为第一个参数传递来以数组形式返回购物车项目

$cart->contents(true);

检索购物车中的项目总数

$cart->totalItems();

默认情况下,此方法将返回购物车中的所有项目及其数量。您可以通过将true作为第一个参数传递来获取所有唯一项目。

$cart->totalItems(true);

检索购物车总额

$cart->total();

默认情况下,total()方法将返回购物车的总价值(浮点数),这包括项目税费。如果您想检索不含税的购物车总额,可以将false传递给total()方法

$cart->total(false);

检查购物车中是否有项目

$cart->has($itemIdentifier);

通过标识符检索项目对象

$cart->item($itemIdentifier);

购物车项目

购物车项目的一些功能也可能在集成您的购物车时有所帮助。

检索项目的总价值

您可以使用以下方法检索特定购物车项目的总价值(包括数量)。

$item->total();

默认情况下,此方法将返回项目的总价值(包括税)。因此,如果您有一个价值100的产品,数量为2,税率为20%,则此方法返回的总价值将是240。

您还可以通过将false传递给total()方法来获取减去税的总价值。

$item->total(false);

这将返回200。

检查一个项目是否有选项

您可以通过使用hasOptions()方法来检查购物车中的项目是否有选项。

if ($item->hasOptions()) {
    // We have options
}

从购物车中删除一个项目

$item->remove();

将项目数据作为数组输出

$item->toArray();