bep40 commited on
Commit
dd3e294
·
verified ·
1 Parent(s): e60482e

Demax: cập nhật dữ liệu 2191 SP + brand detection + giao diện

Browse files
Files changed (3) hide show
  1. catalogues.json +0 -0
  2. index.html +8 -8
  3. products_with_slugs.json +0 -0
catalogues.json CHANGED
The diff for this file is too large to render. See raw diff
 
index.html CHANGED
@@ -4,7 +4,7 @@
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
  <title>MALLOCA | Smart Kitchen - Smart Life</title>
7
- <meta name="description" content="2082 sản phẩm thiết bị nhà bếp & phụ kiện Malloca, Eurogold, Grob & Canzy chính hãng — đầy đủ thông số, hình ảnh, mô tả chi tiết.">
8
  <link rel="icon" href="https://bizweb.dktcdn.net/100/567/847/themes/1041000/assets/favicon.png">
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
10
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
@@ -426,7 +426,7 @@ textarea.form-input{height:120px;resize:vertical}
426
 
427
  <header class="header"><div class="container">
428
  <div class="logo" onclick="goHome()"><div class="logo-box">M</div><div><div class="logo-name">MALL<span>OCA</span></div><div class="logo-sub">Smart Kitchen &bull; Smart Life</div></div></div>
429
- <div class="search-box"><i class="fas fa-search"></i><input type="text" id="q" placeholder="Tìm sản phẩm Malloca, Eurogold, Grob & Canzy..." oninput="doSearch()"><span class="search-count" id="sc"></span></div>
430
  <div class="nav-tabs">
431
  <div class="nav-tab active" data-page="products" onclick="showPage('products')"><i class="fas fa-th-large"></i> Sản Phẩm</div>
432
  <div class="nav-tab" data-page="catalogue" onclick="showPage('catalogue')"><i class="fas fa-book-open"></i> Catalogue</div>
@@ -440,8 +440,8 @@ textarea.form-input{height:120px;resize:vertical}
440
  </div></header>
441
 
442
  <section class="hero"><div class="container">
443
- <h1>Thiết Bị Nhà Bếp <span>Malloca</span> & <span>Eurogold</span> & <span>Grob</span> & <span>Canzy</span></h1>
444
- <p>Dữ liệu trực tiếp từ malloca.com, eurogold.vn, catalogue Grob & Canzy — Đầy đủ hình ảnh, thông số kỹ thuật, mô tả chi tiết</p>
445
  <div class="hero-stats" id="heroStats">
446
  <div class="hero-stat"><strong id="statTotal">1979</strong><span>Sản phẩm</span></div>
447
  <div class="hero-stat"><strong id="statCats">17</strong><span>Danh mục</span></div>
@@ -628,13 +628,13 @@ textarea.form-input{height:120px;resize:vertical}
628
 
629
  <footer class="footer"><div class="container">
630
  <div class="footer-grid">
631
- <div class="footer-brand"><div class="logo-name" style="color:#fff;font-size:1.1rem">MALL<span style="color:var(--a)">OCA</span> & EURO<span style="color:var(--a)">GOLD</span> & GR<span style="color:var(--a)">OB</span> & CAN<span style="color:var(--a)">ZY</span></div><p>2082 sản phẩm với dữ liệu chi tiết đầy đủ — hình ảnh, thông số kỹ thuật, mô tả, tính năng — tích hợp từ malloca.com, eurogold.vn, catalogue Grob & Canzy.</p>
632
  <div class="social-links"><a href="https://www.facebook.com/CongTyMalloca" target="_blank"><i class="fab fa-facebook-f"></i></a><a href="https://www.youtube.com/@mallocakitchenware" target="_blank"><i class="fab fa-youtube"></i></a><a href="https://www.tiktok.com/@mallocavietnam" target="_blank"><i class="fab fa-tiktok"></i></a></div></div>
633
  <div><h4>Thiết Bị Nhà Bếp</h4><ul class="footer-links"><li><a href="javascript:void(0)" onclick="setCat('may-hut-khoi-khu-mui')">Máy hút khói khử mùi</a></li><li><a href="javascript:void(0)" onclick="setCat('bep-dien-tu-bep-gas')">Bếp điện từ, bếp gas</a></li><li><a href="javascript:void(0)" onclick="setCat('lo-nuong')">Lò nướng, lò hấp</a></li><li><a href="javascript:void(0)" onclick="setCat('chau-rua-chen')">Chậu rửa chén</a></li><li><a href="javascript:void(0)" onclick="setCat('voi-rua-chen')">Vòi rửa chén</a></li></ul></div>
634
  <div><h4>Thêm</h4><ul class="footer-links"><li><a href="javascript:void(0)" onclick="setCat('tu-lanh-tu-ruou')">Tủ lạnh, tủ rượu</a></li><li><a href="javascript:void(0)" onclick="setCat('may-rua-chen-may-say-chen')">Máy rửa chén</a></li><li><a href="javascript:void(0)" onclick="setCat('thiet-bi-gia-dung-nho')">Gia dụng nhỏ</a></li><li><a href="javascript:void(0)" onclick="showPage('catalogue')">Catalogue</a></li><li><a href="javascript:void(0)" onclick="toggleChat()">🤖 Tư Vấn AI</a></li></ul></div>
635
  <div><h4>Hỗ Trợ</h4><ul class="footer-links"><li><a href="javascript:void(0)" onclick="toggleChat()">Tư vấn sản phẩm</a></li><li><a href="javascript:void(0)" onclick="showPage('contact')">Liên hệ</a></li><li><a href="tel:18001212">Hotline: 1800 1212</a></li><li><a href="javascript:void(0)" onclick="showPage('catalogue')">Xem catalogue</a></li><li><a href="javascript:void(0)" onclick="goHome()">Trang chủ</a></li></ul></div>
636
  </div>
637
- <div class="footer-bottom"><p>&copy; 2025 Malloca, Eurogold, Grob & Canzy Việt Nam &bull; Dữ liệu tích hợp từ malloca.com, eurogold.vn, catalogue Grob & Canzy</p></div>
638
  </div></footer>
639
 
640
  <script>
@@ -645,11 +645,11 @@ const PRICES=[
645
  {l:'15-30 triệu',min:15e6,max:3e7},{l:'30-50 triệu',min:3e7,max:5e7},{l:'Trên 50 triệu',min:5e7,max:1e15}
646
  ];
647
 
648
- fetch('products_with_slugs.json').then(r=>{if(!r.ok)throw new Error('HTTP '+r.status);return r.json()}).then(d=>{D=d.map(p=>{let o={name:p.n,link:p.l,image:p.i,price:p.p,priceNum:p.pn,cat:p.c,catSlug:p.cs,catIcon:p.ci,images:p.imgs||[],summary:p.sum||'',desc:p.desc||'',specs:p.specs||{},feats:p.feats||[],sku:p.sku||'',video:p.vid||'',model:p.mod||'',slug:p.slug||'',brand:p.brand||( p.n.includes('| Canzy |')?'Canzy':p.n.includes('| Grob |')?'Grob':p.n.includes('| Eurogold |')||p.n.startsWith('Eurogold |')?'Eurogold':'Malloca')};o._idx=buildSearchIndex(o);return o});init()}).catch(e=>{document.getElementById('grid').innerHTML='<div class="empty" style="grid-column:1/-1"><i class="fas fa-exclamation-triangle"></i><h3>Lỗi tải dữ liệu</h3><p>'+e.message+'</p><button class="reset-btn" onclick="location.reload()">Tải lại</button></div>'});
649
 
650
  function nVN(s){return s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'').replace(/đ/g,'d').replace(/Đ/g,'d')}
651
  function buildSearchIndex(p){
652
- let parts=[p.name,p.cat,p.sku,p.model,'malloca','eurogold','grob','canzy',p.brand,p.summary,p.desc,p.price];
653
  if(p.feats&&p.feats.length)parts.push(p.feats.join(' '));
654
  if(p.specs){Object.entries(p.specs).forEach(([k,v])=>{parts.push(k);parts.push(String(v))})}
655
  return nVN(parts.join(' '));
 
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width,initial-scale=1">
6
  <title>MALLOCA | Smart Kitchen - Smart Life</title>
7
+ <meta name="description" content="2191 sản phẩm thiết bị nhà bếp & phụ kiện Malloca, Eurogold, Grob, Canzy & Demax chính hãng — đầy đủ thông số, hình ảnh, mô tả chi tiết.">
8
  <link rel="icon" href="https://bizweb.dktcdn.net/100/567/847/themes/1041000/assets/favicon.png">
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
10
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
 
426
 
427
  <header class="header"><div class="container">
428
  <div class="logo" onclick="goHome()"><div class="logo-box">M</div><div><div class="logo-name">MALL<span>OCA</span></div><div class="logo-sub">Smart Kitchen &bull; Smart Life</div></div></div>
429
+ <div class="search-box"><i class="fas fa-search"></i><input type="text" id="q" placeholder="Tìm sản phẩm Malloca, Eurogold, Grob, Canzy & Demax..." oninput="doSearch()"><span class="search-count" id="sc"></span></div>
430
  <div class="nav-tabs">
431
  <div class="nav-tab active" data-page="products" onclick="showPage('products')"><i class="fas fa-th-large"></i> Sản Phẩm</div>
432
  <div class="nav-tab" data-page="catalogue" onclick="showPage('catalogue')"><i class="fas fa-book-open"></i> Catalogue</div>
 
440
  </div></header>
441
 
442
  <section class="hero"><div class="container">
443
+ <h1>Thiết Bị Nhà Bếp & Khóa Thông Minh <span>Malloca</span> <span>Eurogold</span> <span>Grob</span> <span>Canzy</span> <span>Demax</span></h1>
444
+ <p>Dữ liệu trực tiếp từ malloca.com, eurogold.vn, catalogue Grob, Canzy & Demax — Đầy đủ hình ảnh, thông số kỹ thuật, mô tả chi tiết</p>
445
  <div class="hero-stats" id="heroStats">
446
  <div class="hero-stat"><strong id="statTotal">1979</strong><span>Sản phẩm</span></div>
447
  <div class="hero-stat"><strong id="statCats">17</strong><span>Danh mục</span></div>
 
628
 
629
  <footer class="footer"><div class="container">
630
  <div class="footer-grid">
631
+ <div class="footer-brand"><div class="logo-name" style="color:#fff;font-size:1.1rem">MALL<span style="color:var(--a)">OCA</span> & EURO<span style="color:var(--a)">GOLD</span> & GR<span style="color:var(--a)">OB</span> & CAN<span style="color:var(--a)">ZY</span> & DE<span style="color:var(--a)">MAX</span></div><p>2191 sản phẩm với dữ liệu chi tiết đầy đủ — hình ảnh, thông số kỹ thuật, mô tả, tính năng — tích hợp từ malloca.com, eurogold.vn, catalogue Grob, Canzy & Demax.</p>
632
  <div class="social-links"><a href="https://www.facebook.com/CongTyMalloca" target="_blank"><i class="fab fa-facebook-f"></i></a><a href="https://www.youtube.com/@mallocakitchenware" target="_blank"><i class="fab fa-youtube"></i></a><a href="https://www.tiktok.com/@mallocavietnam" target="_blank"><i class="fab fa-tiktok"></i></a></div></div>
633
  <div><h4>Thiết Bị Nhà Bếp</h4><ul class="footer-links"><li><a href="javascript:void(0)" onclick="setCat('may-hut-khoi-khu-mui')">Máy hút khói khử mùi</a></li><li><a href="javascript:void(0)" onclick="setCat('bep-dien-tu-bep-gas')">Bếp điện từ, bếp gas</a></li><li><a href="javascript:void(0)" onclick="setCat('lo-nuong')">Lò nướng, lò hấp</a></li><li><a href="javascript:void(0)" onclick="setCat('chau-rua-chen')">Chậu rửa chén</a></li><li><a href="javascript:void(0)" onclick="setCat('voi-rua-chen')">Vòi rửa chén</a></li></ul></div>
634
  <div><h4>Thêm</h4><ul class="footer-links"><li><a href="javascript:void(0)" onclick="setCat('tu-lanh-tu-ruou')">Tủ lạnh, tủ rượu</a></li><li><a href="javascript:void(0)" onclick="setCat('may-rua-chen-may-say-chen')">Máy rửa chén</a></li><li><a href="javascript:void(0)" onclick="setCat('thiet-bi-gia-dung-nho')">Gia dụng nhỏ</a></li><li><a href="javascript:void(0)" onclick="showPage('catalogue')">Catalogue</a></li><li><a href="javascript:void(0)" onclick="toggleChat()">🤖 Tư Vấn AI</a></li></ul></div>
635
  <div><h4>Hỗ Trợ</h4><ul class="footer-links"><li><a href="javascript:void(0)" onclick="toggleChat()">Tư vấn sản phẩm</a></li><li><a href="javascript:void(0)" onclick="showPage('contact')">Liên hệ</a></li><li><a href="tel:18001212">Hotline: 1800 1212</a></li><li><a href="javascript:void(0)" onclick="showPage('catalogue')">Xem catalogue</a></li><li><a href="javascript:void(0)" onclick="goHome()">Trang chủ</a></li></ul></div>
636
  </div>
637
+ <div class="footer-bottom"><p>&copy; 2025 Malloca, Eurogold, Grob, Canzy & Demax Việt Nam &bull; Dữ liệu tích hợp từ malloca.com, eurogold.vn, catalogue Grob, Canzy & Demax</p></div>
638
  </div></footer>
639
 
640
  <script>
 
645
  {l:'15-30 triệu',min:15e6,max:3e7},{l:'30-50 triệu',min:3e7,max:5e7},{l:'Trên 50 triệu',min:5e7,max:1e15}
646
  ];
647
 
648
+ fetch('products_with_slugs.json').then(r=>{if(!r.ok)throw new Error('HTTP '+r.status);return r.json()}).then(d=>{D=d.map(p=>{let o={name:p.n,link:p.l,image:p.i,price:p.p,priceNum:p.pn,cat:p.c,catSlug:p.cs,catIcon:p.ci,images:p.imgs||[],summary:p.sum||'',desc:p.desc||'',specs:p.specs||{},feats:p.feats||[],sku:p.sku||'',video:p.vid||'',model:p.mod||'',slug:p.slug||'',brand:p.brand||( p.n.includes('| Demax |')?'Demax':p.n.includes('| Canzy |')?'Canzy':p.n.includes('| Grob |')?'Grob':p.n.includes('| Eurogold |')||p.n.startsWith('Eurogold |')?'Eurogold':'Malloca')};o._idx=buildSearchIndex(o);return o});init()}).catch(e=>{document.getElementById('grid').innerHTML='<div class="empty" style="grid-column:1/-1"><i class="fas fa-exclamation-triangle"></i><h3>Lỗi tải dữ liệu</h3><p>'+e.message+'</p><button class="reset-btn" onclick="location.reload()">Tải lại</button></div>'});
649
 
650
  function nVN(s){return s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'').replace(/đ/g,'d').replace(/Đ/g,'d')}
651
  function buildSearchIndex(p){
652
+ let parts=[p.name,p.cat,p.sku,p.model,'malloca','eurogold','grob','canzy','demax',p.brand,p.summary,p.desc,p.price];
653
  if(p.feats&&p.feats.length)parts.push(p.feats.join(' '));
654
  if(p.specs){Object.entries(p.specs).forEach(([k,v])=>{parts.push(k);parts.push(String(v))})}
655
  return nVN(parts.join(' '));
products_with_slugs.json CHANGED
The diff for this file is too large to render. See raw diff