Main Products/2-Piece/Combinations/Create
Find order/31314:32 · UTC+8
Main Products2-PieceCombinationsCreate
New combinations · 2-Piece
store() writes one combination per row · then back to the list
CancelCreate
Main product
fixed · from ?main_product=2 2-Piece2 pieces
Pieces offered: all 15 products (a 2-piece main product may pair any two). Piece A is required; B and C are optional.
Combinations
3 rowsprinter name stored nested on create · G-C1
| Piece A * | Piece B | System name (derived) | Printer name (derived) | ||
|---|---|---|---|---|---|
JA Jacket | TR Trousers | Jacket + Trousers西服 + 裤子 exists · 468 | Jacket + Trousers一件西服 + 一条裤子 | ||
TR Trousers | Select product | Trousers裤子 | Trousers一条裤子 | ||
JA Jacket | Select product | Jacket西服 | Jacket一件西服 |
Add roweach row = one combination of 2-Piece; names are built from the pieces (System + Printer, EN + CN, joined with “ + ”) — nothing to type
Create starts with one empty row. store() matches on (position, pieces): row 1 equals 468 (Jacket + Trousers at position 1), so Create updates 468 instead of adding a duplicate — the row says so before you press Create.
What create stores today
combination 484 · Overshirtneeds backend · G-C1
printer_name = {"0":{"en":"Overshirt","cn":"夹克衫"},"en":"Overshirt","cn":"夹克衫"}
CombinationController::store builds printer_name as a list holding the pair, then appends “ + B” to a new top-level key (:137-158). update() writes the flat pair (:227-249). Fix in store (web + API) so a new combination's Printer name is the flat pair.
CombinationController::store builds printer_name as a list holding the pair, then appends “ + B” to a new top-level key (:137-158). update() writes the flat pair (:227-249). Fix in store (web + API) so a new combination's Printer name is the flat pair.