jsnlib/cart

1.3.0 2019-12-17 07:05 UTC

This package is auto-updated.

Last update: 2024-09-17 17:46:26 UTC


README

这是一个简单的购物车,不依赖于任何框架。

__construct($param = [])

构造函数

  • sess (可选)使用的 session 名称,默认是 'jsnlib_cart'
require_once 'vendor/autoload.php';
session_start();
$cart = new Jsnlib\Cart('jsnlibCart');

insert(array $param): bool

将产品放入购物车

  • primaryid (string) 唯一编号
  • name (string) 产品名称
  • quantity (int) 产品数量
  • price (int) 产品金额
  • option (array) 带有参数
$ary = 
[
    'primaryid' => 'JSN5000000',
    'name'      => 'A款衣服',
    'price'     => 399,
    'quantity'  => 2,
    'option'    =>      
    [
        'productid' => 'A00001',
        'size'      => 'XL',
    ]
];
$cart->insert($ary);

update(array $param): bool

修改购物车的产品项目。如果指定参数数量 quantity 为 0 时,视同删除。

  • primaryid (string) 唯一编号
$ary = 
[
    'primaryid' => 'JSN5000003',
    'quantity'  => 12
];
$cart->update($ary);

isnew($primaryid): bool

加入购物车的是新商品?

$cart->isnew('JSN5000003'); 

delete($primaryid): bool

删除购物车中的某个产品

$cart->delete('JSN5000003');

get($primaryid)

取得已在购物车的产品信息

$cart->get('JSN5000000');

find($param = [])

寻找参数相符合的列表

$cart->insert(
[
    'primaryid' => '0001',
    'name'      => 'A款衣服',
    'price'     => 100,
    'quantity'  => 10,
    'option'    =>      
    [
        'size'      => 's',
    ]
]);

$cart->insert(
[
    'primaryid' => '0002',
    'name'      => 'B款衣服',
    'price'     => 200,
    'quantity'  => 10,
    'option'    =>      
    [
        'size'      => 'xl',
    ]
]);

$cart->find(['quantity' => 10]); // A款衣服 + B款衣服
$cart->find(['option' => ['size' => 'xl']]); // B款衣服

truncate(): bool

清空购物车

$cart->truncate();

order(array $exclude = NULL): array

取得账单

$cart->order();

取得排除某些列表,例如排除运费的账单

$cart->order(['Transport']);

total(array $exclude = NULL): int

合计

$cart->total();

取得排除某些列表,例如排除运费的合计

$cart->total(['Transport']);