vbpupil / product
产品库
Requires
- php: >=7.2
- myclabs/php-enum: ^1.7
- vbpupil/collection: ^1.0
Requires (Dev)
- phpunit/phpunit: 7.0.0
- symfony/var-dumper: ^4.3
- dev-master
- 5.0.0
- v4.1.x-dev
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.0
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.0
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.1.1
- 1.1.0
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-seo
- dev-dev_adding_mpn_ean_and_barcode
- dev-tweak_to_product_code
- dev-experimental
- dev-product_type_and_variant_type_swappover_test
- dev-UML
This package is auto-updated.
Last update: 2024-09-22 19:49:14 UTC
README
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() 来表示销售订单。此类受枚举控制,概述了可用的支持文档类型。