cyrkulewski/shopping-cart

简单的ZF2购物车

v1.0.1 2016-06-12 18:53 UTC

This package is auto-updated.

Last update: 2024-09-20 02:57:06 UTC


README

此模型是一个简单的ZF2购物车解决方案。提供创建和修改购物车的基本功能,其中可以包含任何内容。易于扩展,只需创建自己的购物车实体并在购物车初始化期间推送即可。

灵感来源于

我受到Vincenzo Provenza和Concetto Vecchio(http://github.com/vikey89/ZendCart)出色工作的启发,创建了ShoppingCart。保留了相同的概念,但使其更加灵活,更容易扩展和更改。

安装

使用composer composer 进行安装。在composer.json中将此项目添加到项目中

"require": {
    "cyrkulewski/shopping-cart": "dev-master"
}

安装后

配置

  • 在config/application.config.php中的数组modules下添加购物车模块,插入ShoppingCart
  • 将名为shoppingcart.global.php.dist的文件复制到config/autoload/,并更名为shoppingcart.global.php
  • 修改配置以符合您的期望。

示例

插入

您可以向购物车中插入任意数量的商品。购物车中的每个条目都将有一个唯一的令牌用于处理。以下是一个包含一个产品的示例

$product = array(
    'id'      => 'XYZ',
    'qty'     => 1,
    'price'   => 15.15,
    'product' => 'Book: ZF2 for beginners',
);
$this->ShoppingCart()->insert($product);

包含两个产品的示例

$products = array(
    array(
        'id'      => 'XYZ',
        'qty'     => 1,
        'price'   => 15.15,
        'product' => 'Book: ZF2 for beginners',
    ),
    array(
        'id'      => 'ZYX',
        'qty'     => 3,
        'price'   => 19.99,
        'product' => 'Book: ZF2 for advanced users',
    )
);
$this->ShoppingCart()->insert($products);

移除

$token => '4b848870240fd2e976ee59831b34314f7cfbb05b';
$this->ShoppingCart()->remove($token);

销毁

完全删除购物车。

$this->ShoppingCart()->destroy();

购物车

获取购物车的所有内容。

$this->ShoppingCart()->cart();

总价

$this->ShoppingCart()->total_sum();

商品总数

$this->ShoppingCart()->total_items();

控制器中的示例

return new ViewModel(array(
    'cart' => $this->ShoppingCart()->cart(),
    'total_items' => $this->ShoppingCart()->total_items(),
    'total_sum' => $this->ShoppingCart()->total_sum(),
));

如何更改/扩展购物车

提供的购物车实体非常基础。您可以更改其实体结构。例如,如果您需要向购物车中的每个商品添加选项或提供折扣字段等,您应该做什么

  • 将ShoppingCart/Entity/ShoppingCartEntity复制到您的模块中
  • 修改YourModule/Entity/ShoppingCartEntity:添加您需要的任何字段
  • 在购物车初始化期间提供您的YourModule/Entity/ShoppingCartEntity
$this->ShoppingCart()->setEntityPrototype(new YourModule/Entity/ShoppingCartEntity());

函数参考

贡献者

Aleksander Cyrkulewski - cyrkulewski@gmail.com