vbpupil/product

5.0.0 2021-02-22 11:38 UTC

README

PHP 7.2

ProductLibrary

产品对象可以根据您的需求复杂度具有许多组件。以下概述了通用配置

SimpleProduct - 无价格

SimpleProduct 没有任何价格。以下展示了如何初始化 SimpleProduct

$prod = new SimpleProduct(
    'Iphone X',
    new Collection()
);

$prod->setLive(true);

$prod->setSlug('iphone-x'); //defines urls safe string

$prod->setDescription(
    '<p>The iPhone X, pronounced "iPhone 10," was introduced at Apple\'s September 2017 event as a classic "One more thing...".</p>',
    'long_description');

获取描述

echo $prod->getItem('long_description');

获取描述

foreach ($prod->getItems() as $desc) {
    echo $desc;
}

获取产品属性

  • getBrandName() - 与产品关联的品牌名称
  • getBrandId() - 与产品关联的品牌 ID

GeneralProduct

表面上,通用产品与 SimpleProduct 相同,但它有一个变体概念,这本身提供了一些有趣的添加。

要添加变体,只需从一个空集合开始

$prod->setVariations(
        new Collection()
    );

一旦创建了集合,您就可以像使用任何其他集合对象一样使用它(Simple Product 中的上述描述功能使用相同的函数)。

添加变体

    $myVariation = new \vbpupil\Variation\AbstractVariation(
            [
                'title' => 'FFF',
                'product_code' => 'MYPRODCODE-01'
            ]
        );
    
    $prod->variations->addItem($v);

获取变体属性

  • getBarcode() - 变体的条形码
  • getEan() - 变体的 ean
  • getMpn() - 变体的 mpn
  • getPriceType() - 变体的价格类型,例如单个或基准
  • getUnitOfSale() - 变体的销售单位,例如袋、托盘、大袋等
  • getMinDelQty() - 在可提供交付之前要购买的最低数量
  • getMaxDelQty() - 在只有集合可用之前数量太多的数量

定价

SinglePrice

此对象处理产品变体可能具有一些价格(例如价格、特殊价格、成本价格等)但仅以单个价格出售的大部分用例。当请求对象的 getPrice() 方法时,您将返回单个价格。注意对象将运行检查以查看是否设置了/有效特殊价格,如果是,则返回该价格,否则返回销售价格。

PivotPrice

此对象将处理基准价格样式结构,即

要确定变体的价格类型(例如单个或基准),您可以使用 getVariantPriceTypes()
要确定最便宜的变体 ID,您可以使用 getCheapestVariantiD();要确定最便宜的变体价格,您可以使用 getCheapestVariantPrice()

库存

库存可以根据需要测量,以下是可以使用的。

SimpleStock

Simple stock 提供了简单的库存数量保持,并在需要时返回。

AuditableStock

Auditable stock 具有验证当前库存数量拥有的能力,通过执行库存历史的回顾性检查并输出其发现。

Auditable

Auditable 类在手,可以解释为什么一个物品的库存数量发生变化 - 例如 BOOK_IN/BOOK_OUT 等。

AuditableType

此类简单地定义了可以接受的合法原因。例如,在创建 Auditable 时

$a = new Auditable(
            2,
            AuditableType::SALE(),
            'Sold',
            '2019-08-22 14:42:20',
            AuditableAssociatedDocumentType::SALES_ORDER(),
            115
        )

AuditableType::SALE() 传递进去以表示 SALE 项。此类由枚举控制,概述了哪些类型可用。

AuditableAssociatesDocumentType

此类允许您指定伴随库存变化的支持文档,例如 SALES_ORDER(附带 SALES ORDER ID)支持销售,导致库存减少 1。以下展示了此代码的执行情况。

$a = new Auditable(
            2,
            AuditableType::SALE(),
            'Sold',
            '2019-08-22 14:42:20',
            AuditableAssociatedDocumentType::SALES_ORDER(),
            115
        )

传入一个 AuditableAssociatedDocumentType::SALES_ORDER() 来表示销售订单。此类受枚举控制,概述了可用的支持文档类型。