Spaces:
Running
Running
Demax: cập nhật dữ liệu 2191 SP + brand detection + giao diện
Browse files- catalogues.json +0 -0
- index.html +8 -8
- 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="
|
| 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 • 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 &
|
| 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>
|
| 444 |
-
<p>Dữ liệu trực tiếp từ malloca.com, eurogold.vn, catalogue Grob &
|
| 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>
|
| 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>© 2025 Malloca, Eurogold, Grob &
|
| 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 • 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>© 2025 Malloca, Eurogold, Grob, Canzy & Demax Việt Nam • 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
|
|
|