dizatech / cart
Requires
- php: >=5.3.0
- dizatech/currency: ^1.0
- moltin/tax: dev-master
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-09-25 16:55:42 UTC
README
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、name、price 和 quantity,尽管您可以传递任何您喜欢的自定义数据。
$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()
方法将返回购物车的总价值作为 float
,这将包括任何项目税。如果您想检索不含税的购物车总额,则可以在 total()
方法中传递 false
$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();