[错误]: 产品导入无法读取产品导出写入的区域价格列
作者: L4XB创建于 2026年9月17日更新于 2026年9月17日
标签type: bugrequires-teamhelp-wanted
QQ 软件包. json 文件
贾森 { "从事":{ "@medusajs/框架":"2.21.0,". "@medusajs/medusa":"2.21.0" (中文(简体) ). {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
在`da9be14fb ' (`@medusajs/utils'2.21.0)的`develop " 上转载;已公布的2.21.0中的代码路径相同。
Node.js 版本
页:1
QQ 数据库及其版本
以下复制不需要: 它直接运行导入正常化器 。 (端到端的导入没有针对数据库运行).
操作系统名称和版本
macOS 15(装甲64)
QQ 浏览器名称
无回复( N)
发生了什么事?
产品出口将区域范围的价格写成一栏,取名 " Variant Price <Region Name > [<CURRENCY>] " 。
产品导入不能读取该栏内容 。 目前的进口工作流程( " 进口产品Workflow " 通过 " 正常化CsvStep " , " 进口产品AsChunksWorkflow " 通过 " 正常化CsvToChunksStep " )都使用 " CSVNormalizer " 。 它的 " 变价 " 处理器仅保留了最后一个以空间分隔的列名词作为货币( " packages/core/utils/src/produces/csv-ormanifer.ts:49-65 " ,在 " :324 " 中使用)。 它还使 " ParseVariantPrice Column " 摘录区域减少。 所以说:
- `变价价格试验区[美 成为有`货币-代码:`[异 '的价格,没有区域规则;
- `Variant Price [欧洲]EUR',同一函数中的错误信息所给出的格式,成为了简单的`eur'价格。 该地区静悄悄地下跌了,因此一个地区价格作为全店价格被进口.
`包装/核心/核心-流量/弧/产品/帮助者/规范进口.ts:312-338'中的老路径的确处理出口的格式。 它按名称对该地区进行了考察,从该地区设定了 " 货币-代码 " ,并增加了 " 规则:{ region id }`. `CSVNormalizer'路径没有等同性,因此,在出口之后,进口不再采用往返地区价格。
复制(不需要项目):
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么?
/ 节点 repro.js, 有@medusajs/ utils 2. 21.0 可溶
comst { CSVNormalizer} = 需要 ("@medusajs/utils").
相接行 = {
"出产":""通""衫",".
"出品题":"T-Shirt","出品".
"变相标题":"S",".
"变价美元":40,
"变相价格试验区[美]":45,//产品出口所写的.
“ Variant Price [Europe] EUR” : 30, // 导入错误消息建议的格式
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
常态器 = 新的 CSVNormalizer([CSVNormalizer.precess(row, 1)]) .
const { toCreate } = 正常化者. process ()
control.log(JSON.stringify (创建["t-shirt"]. variants [0..pices, 无效, 2)).输出 :
贾森 [ {"货币 代码":"usd","amount":40}, {"货币 代码":"[usd]""amount":45}, {"货币 代码":"eur","amount":30} [ . ]
预期行为
导出写入的一栏可以再次导入 。 `变相价格试验区[美 应为美元价格,对称为`试验区'的区域适用`区域-id'规则',如较老的正常化者所做的那样。 A级
. . . . . . .内容来源: medusajs/medusa