slowlyo / owl-sku
SKU 扩展
v0.1.4
2024-05-15 05:57 UTC
Requires
- php: >=8.0
- slowlyo/owl-admin: *
README
!! 前提
- 需要熟悉常规商城
sku
的处理逻辑 - 熟练使用
laravel
以及Owl Admin
- 拥有自行查阅源码的能力 (重点)
使用说明
数据表
goods (商品表)
默认只有一个 name
字段, 实际使用请根据需求自行添加
goods_spec_groups (规格组)
goods_specs (规格值)
goods_skus (sku)
默认只记录 price
和 stock
两个字段, 实际使用请根据需求自行调整
如何使用
组件的使用
原理: 通过 combo
组件, 结合后端代码, 实现了一个灵活的 sku 编辑器
use Slowlyo\OwlSku\Sku; // ... // 使用组件 amis()->Form()->body([ Sku::make()->form(), // 自定义 name 和 label Sku::make()->form('my_sku', 'My SKU'), // 自定义 sku 字段 // 默认为 price 和 stock 两个字段 Sku::make()->form('my_sku', 'My SKU', [ amis()->TextControl('custom_1', '自定义字段1'), amis()->TextControl('custom_2', '自定义字段2'), amis()->TextControl('custom_3', '自定义字段3'), // ... ]), ])
sku 数据保存
在 Slowlyo\OwlSku\Services\GoodsService
中, 已经处理了新增商品和编辑商品的逻辑
可直接使用或重写
sku 数据回显
use Slowlyo\OwlSku\Sku; // 需要确保 sku 组件同级的数据域中有 id 字段, 值为 goods 表的 id (用于回显 sku 列表) // sku 字段的数据需要作特殊处理 public function show () { return $this->response()->success([ 'id' => $goodsId, 'sku' => Sku::make->echoData($goodsId) ]); }
开发注意事项
- sku 属于比较复杂(麻烦)的功能, 使用该扩展前请确保你拥有 [前提] 中提到的能力 (小白勿扰~)
- 扩展中处理数据结构的逻辑, 作者也不一定记得清楚, 若有需要请自行断点查看
- 卸载扩展会移除所有表!!!