diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/pages/api/magento-product.ts | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/pages/api/magento-product.ts b/src/pages/api/magento-product.ts index f61daf69..51ca1732 100644 --- a/src/pages/api/magento-product.ts +++ b/src/pages/api/magento-product.ts @@ -49,6 +49,17 @@ export default async function handler( return res.status(200).json({ specsMatrix: [], upsell_ids: [], related_ids: [] }); } + // --- HELPER: Fungsi untuk membersihkan nilai dari tanda kutip --- + const cleanAttributeValue = (val: any) => { + if (val === null || val === undefined) return ''; + let str = String(val).trim(); + // Cek apakah diawali dan diakhiri tanda kutip + if (str.length >= 2 && str.startsWith('"') && str.endsWith('"')) { + str = str.slice(1, -1).trim(); + } + return str; + }; + // ===================================================================== // 2. BUILD SPECS MATRIX // Kita butuh daftar semua atribut unik (z_*) dari seluruh varian @@ -99,10 +110,9 @@ export default async function handler( items.forEach((p: any) => { const attr = p.custom_attributes.find((a: any) => a.attribute_code === code); - let rawVal = attr && attr.value !== null ? String(attr.value).trim() : ''; - if (rawVal.length >= 2 && rawVal.startsWith('"') && rawVal.endsWith('"')) { - rawVal = rawVal.slice(1, -1).trim(); - } + // Gunakan helper cleanAttributeValue disini + const rawVal = attr ? cleanAttributeValue(attr.value) : ''; + if (rawVal !== '' && rawVal !== '-') { hasData = true; } @@ -121,14 +131,14 @@ export default async function handler( descriptions[p.sku] = descAttr ? descAttr.value : ''; }); + // [UPDATED] Warranties dengan filter tanda kutip const warranties: Record<string, string> = {}; items.forEach((p: any) => { const warAttr = p.custom_attributes.find((a: any) => a.attribute_code === 'z_warranty'); - warranties[p.sku] = warAttr ? warAttr.value : ''; + // Gunakan helper cleanAttributeValue agar tanda kutip hilang + warranties[p.sku] = warAttr ? cleanAttributeValue(warAttr.value) : ''; }); - - // ===================================================================== // 3. AMBIL LINKS (UPSELL & RELATED) DARI MAIN VARIANT SAJA // ===================================================================== |
