← back to Designer Wallcoverings
cadence: arm Anna French (lift DENY_VENDORS after link-and-skip) + type-aware title/intro for mixed-type vendors (fabric rows no longer titled 'Wallcoverings')
01c6646f751ab0db95fa6893f1ce189323cba9ad · 2026-06-25 17:42:29 -0700 · Steve
Files touched
M shopify/scripts/cadence/cadence-import.js
Diff
commit 01c6646f751ab0db95fa6893f1ce189323cba9ad
Author: Steve <steve@designerwallcoverings.com>
Date: Thu Jun 25 17:42:29 2026 -0700
cadence: arm Anna French (lift DENY_VENDORS after link-and-skip) + type-aware title/intro for mixed-type vendors (fabric rows no longer titled 'Wallcoverings')
---
shopify/scripts/cadence/cadence-import.js | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/shopify/scripts/cadence/cadence-import.js b/shopify/scripts/cadence/cadence-import.js
index 4ce65a41..461502ae 100644
--- a/shopify/scripts/cadence/cadence-import.js
+++ b/shopify/scripts/cadence/cadence-import.js
@@ -577,7 +577,8 @@ function buildInput(vendor, cfg, row, retail, activate) {
const color = rawColor ? titleCase(stripCodes(rawColor)) : '';
let core = color ? `${pattern}, ${color}` : pattern;
if (!core) core = titleCase(row.pattern_name || '') || row.dw_sku; // never fall back to mfr_sku in title
- const title = `${core} Wallcoverings | ${vendor}`.replace(/wallpaper/gi,'Wallcovering');
+ const typeWord = /fabric/i.test(productType) ? 'Fabric' : 'Wallcoverings'; // mixed-type vendors (Anna French): fabric rows must not be titled "Wallcoverings"
+ const title = `${core} ${typeWord} | ${vendor}`.replace(/wallpaper/gi,'Wallcovering');
const handle = (`${core}-${row.dw_sku}`).toLowerCase().replace(/[^a-z0-9]+/g,'-').replace(/^-+|-+$/g,'').slice(0,100);
const specs = [];
if (row.material) specs.push(`<li><strong>Material:</strong> ${esc(row.material)}</li>`);
@@ -587,7 +588,7 @@ function buildInput(vendor, cfg, row, retail, activate) {
specs.push(`<li><strong>Sold By:</strong> ${esc(soldBy)}</li>`);
const safeVendor = scrubBanned(vendor);
const safeCollection = scrubBanned(row.collection);
- const intro = `${pattern}${color?' in '+color:''} is a designer wallcovering${safeCollection?' from the '+esc(safeCollection)+' collection':''} by ${safeVendor}. Priced per ${soldBy.toLowerCase()}.`;
+ const intro = `${pattern}${color?' in '+color:''} is a designer ${/fabric/i.test(productType)?'fabric':'wallcovering'}${safeCollection?' from the '+esc(safeCollection)+' collection':''} by ${safeVendor}. Priced per ${soldBy.toLowerCase()}.`;
const SL='single_line_text_field', ML='multi_line_text_field', ND='number_decimal';
const mf=[]; const m=(ns,k,v,t)=>{ if(v!=null&&v!=='') mf.push({namespace:ns,key:k,type:t,value:String(v)}); };
m('custom','manufacturer_sku',row.mfr_sku,SL); m('global','manufacturer_sku',row.mfr_sku,SL);
← 79b4034f Jeffrey Stevens disco reconciliation: staged York scrape run
·
back to Designer Wallcoverings
·
auto-save: 2026-06-25T18:06:20 (6 files) — pending-approval/ 205a826b →