PageSourceSearch

https://tainghe.com.vn/cart

html tainghe.com.vn collected 2026-10-07 23:12:50 UTC 85,940 bytes, 1,946 lines download raw bytes

1
2<!DOCTYPE html>
3<html lang="vi-vn">
4<head>
5    <!-- xác minh tên miền với facebook -->
6    <meta name="facebook-domain-verification" content="3ko06e73uzxeje3jaypvixolwlsm9z" />    
7    <meta name="google-site-verification" content="pS7uY7eqkkWy-tjZwtLQhgpEaebfgKiIzzXqp9u7z_A" />
8    <meta name="google-site-verification" content="DMybd7gAdQlGBJro1cN9Tt48duBuYuBQhWh6Cb_iumU" />
9    <meta name="google-site-verification" content="8109e_rQ9JCfYHn8fsIOPZFo6FAUPTnkhuJDZSnhZuY" />
10
11    <meta charset="utf-8" />
12    <meta name="viewport" content="width=device-width, initial-scale=1.0">
13    <meta name="resource-type" content="document" />
14    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
15    
16    <meta property="og:title"       content="Thông tin giỏ hàng">
17    <meta property="og:image:alt"   content="Thông tin giỏ hàng">
18    <title>Thông tin giỏ hàng</title>
19    
20
21    
22    <meta name="description" content="Xem các sản phẩm đã thêm vào trong giỏ hàng"/>
23    <meta property="og:description" content="Xem các sản phẩm đã thêm vào trong giỏ hàng">
24    
25
26    
27    <meta property="og:type" content="website" />
28    <meta property="og:image" content="https://tainghe.com.vn/static/assets/2024/images/logo_logo_logo.png" />
29    
30    <meta property="og:url" content="https://tainghe.com.vn/cart" />
31
32    
33    <meta name="keywords" content="giỏ hàng"/>
34    
35
36        
37    
38    <meta name="robots" content="index,follow" />
39    
40
41    
42        
43        <link rel="canonical" href="https://tainghe.com.vn/cart" >
44        
45    
46
47    
48    <meta name="revisit-after" content="1 days" />
49
50    <link rel="alternate" type="application/rss+xml" title="RSS Feed for https://tainghe.com.vn" href="/product.rss" />
51    <link rel="shortcut icon" href="/static/assets/2024/images/favicon.png" />
52    
53    <link rel="preconnect" href="https://fonts.googleapis.com">
54    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
55    <link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700&subset=vietnamese" rel="stylesheet">
56   <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css">
57    <link rel="stylesheet" href="/static/assets/2024/script/style.css?08102026061250">   
58    <link rel="stylesheet" href="/static/assets/2024/script/style_2.css?08102026061250">   
59  	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.1/css/all.min.css" />
60    
61
62    
63    <!--[if lt IE 9]>
64    
64<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
64
65    <![endif]-->
66    
67    <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 67-68
67
68<script async src="https://www.googletagmanager.com/gtag/js?id=
68UA-86334960-1
vendor: 12 bytes, line 68
68"></script>
69<script>
70    
vendor: 140 bytes, lines 70-74
70window.dataLayer = window.dataLayer || [];
71    function gtag(){dataLayer.push(arguments);}
72    gtag('js', new Date());
73
74    gtag('config', '
74UA-86334960-1
vendor: 4 bytes, line 74
74');
75</script>
75
76
77<!-- Google Tag Manager -->
78<script>
vendor: 327 bytes, lines 78-82
78(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
79new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
80j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
81'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
82})(window,document,'script','dataLayer','
82GTM-5GNDHPW
vendor: 3 bytes, line 82
82');
82</script>
82
83<!-- End Google Tag Manager -->
84  
85<!-- Google Tag Manager tainghe.com.vn-->
86<script>
vendor: 327 bytes, lines 86-90
86(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
87new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
88j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
89'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
90})(window,document,'script','dataLayer','
90GTM-PNNBLPS
vendor: 3 bytes, line 90
90');
90</script>
90
91<!-- End Google Tag Manager -->
92
93<!-- Google Tag Manager -->
94<script>
vendor: 327 bytes, lines 94-98
94(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
95new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
96j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
97'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
98})(window,document,'script','dataLayer','
98GTM-KZFTWVP
vendor: 3 bytes, line 98
98');
98</script>
98
99<!-- End Google Tag Manager --> 
100      
101    
102<!-- Global site tag (gtag.js) - AdWords: 865031147 -->
vendor: 64 bytes, lines 102-103
102
103<script async src="https://www.googletagmanager.com/gtag/js?id=
103AW-865031147
vendor: 12 bytes, line 103
103"></script>
104<script>
105    
vendor: 140 bytes, lines 105-109
105window.dataLayer = window.dataLayer || [];
106    function gtag(){dataLayer.push(arguments);}
107    gtag('js', new Date());
108
109    gtag('config', '
109AW-865031147
vendor: 4 bytes, line 109
109');
110</script>
110
111
112<!-- Google Tag Manager -->
113<script>
vendor: 327 bytes, lines 113-117
113(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
114new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
115j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
116'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
117})(window,document,'script','dataLayer','
117GTM-TMD6K7D
vendor: 3 bytes, line 117
117');
117</script>
117
118<!-- End Google Tag Manager -->
119</head>
120<body>
121      
122    <div id="wrapper">
123        <div id="top">
124    <div class="container">
125        <ul id="menu-top" class="ul">
126            <li class="first home"><a href="/"></a></li>
127            <li><a href="/tin-tuc">Tin tức</a></li>
128            <li><a href="/lien-he">Liên hệ</a></li>
129            <li><a href="/huong-dan-mua-hang">Hướng dẫn mua hàng</a> </li>
130            <li><a >Giờ mở cửa: 8h - 21h</a></li>
131        </ul>
132        
133        
134        <div id="customer_h">
135          	<i class="icon_login_h"></i>
136          	<a href="/dang-ky" style="color: #d0d0d0">Đăng ký</a> | 
137          	<a href="/dang-nhap" style="color: #d0d0d0">Đăng nhập</a>
138      	</div>
139        
140        <div id="cart-header">
141            <i class="icon icon-cart"></i>
142            <a href="/cart">Giỏ hàng (<span class="js-cart-count"></span>)</a>
143        </div>
144    </div>
145</div>
146
147<div class="clear"></div>
148
149<header>
150    <div class="container">
151        
152        <a href="/" id="logo"><img src="/static/assets/2024/images/logo_logo_logo.png" alt="Xuan Vu Audio" /></a>
153        
154
155        <div id="services-header">
156            <a href="/xuan-vu-speedy-dat-hang-online-nhan-hang-sieu-nhanh-chi-trong-30-phut.html">
157                <i class="icon icon-service1"></i>
158                <div><b>Giao hàng</b><span>Nhanh 30 phút</span></div>
159            </a>
160            <a href="/chinh-sach-bao-hanh">
161                <i class="icon icon-service2"></i>
162                <div><b>30 ngày</b><span>Trả hàng</span></div>
163            </a>
164            <a href="/chinh-sach-bao-hanh">
165                <i class="icon icon-service3"></i>
166                <div><b>Bảo hành</b><span>Nhanh chóng</span></div>
167            </a>
168        </div>
169
170        <div id="fb_header">
171            <!--<div class="fb-page" data-href="https://www.facebook.com/xuanvuaudio/" data-width="280" data-height="75" data-small-header="true" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true">
172                <blockquote cite="https://www.facebook.com/xuanvuaudio/" class="fb-xfbml-parse-ignore"><a href="https://www.facebook.com/xuanvuaudio/" target="_blank">Xuân Vũ Audio</a></blockquote>
173            </div>-->
174          <iframe
175        src="https://www.facebook.com/plugins/page.php?href=https%3A%2F%2Fwww.facebook.com%2Fxuanvuaudio%2F&tabs=timeline&width=280&height=130&small_header=true&adapt_container_width=true&hide_cover=false&show_facepile=true"
176        width="280"
177        height="72"
178        style="border:none;overflow:hidden"
179        scrolling="no"
180        frameborder="0"
181        allowfullscreen="true"
182        allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share">
183    </iframe>
184        </div>
185    </div>
186</header>
187
188<div class="clear"></div>
189<nav id="nav-hori">
190    <div class="container">
191        <div id="main-menu">
192    <div class="title-main-menu">Danh mục sản phẩm</div>
193    <ul class="ul menu" style="display:none;">
194        <li style="background: #f00;">
195            <span class="box_icon_cat">
196                <img src="/static/assets/2024/images/icon-flame-2020.png" alt="Khuyến mại hot" class="icon-cat" />
197            </span>
198            <a href="/khuyen-mai.html" class="root">KHUYẾN MẠI HOT</a>
199        </li>
200
201        <li>
202            <span class="box_icon_cat">
203                <img src="https://tainghe.com.vn/media/category/cb_4d485476e07e02638e8e2133cdf8f56d.png" alt="TAI NGHE" class="icon-cat"/>
204            </span>
205
206            <a href="/tai-nghe.html" class="root">TAI NGHE</a>
207
208            <div class="sub-nav" style="min-height: 466px;">
209                <div class="left">
210                    <h3>Phân loại</h3>
211                    <a href="/tai-nghe-in-ear.html" class="sub2">Tai Nghe In Ear</a>
212                    <a href="/tai-nghe-ear-bud.html" class="sub2">Tai nghe Ear Bud</a>
213                    <a href="/tai-nghe-on-ear.html" class="sub2">Tai nghe On Ear</a>
214                    <a href="/tai-nghe-over-ear.html" class="sub2">Tai Nghe Over Ear</a>
215                    <a href="/tai-nghe-clip-on.html" class="sub2">Tai Nghe Clip On</a>
216                    <a href="/tai-nghe-open-ear.html" class="sub2">Tai Nghe Open Ear</a>
217                    <a href="/tai-nghe-custom.html" class="sub2">Tai Nghe Custom</a>
218                    <a href="/tai-nghe-universal.html" class="sub2">Tai Nghe Universal</a>
219                    <a href="/tai-nghe-chong-on-noice-cancelling.html" class="sub2">Tai Nghe Chống Ồn</a>
220                    <a href="/tai-nghe-khong-day.html" class="sub2">Tai Nghe Bluetooth</a>
221                    <a href="/tai-nghe-true-wireless.html" class="sub2">Tai Nghe True Wireless</a>
222                    <a href="/tai-nghe-DJ.html" class="sub2">Tai Nghe DJ</a>
223                    <a href="/tai-nghe-phong-thu.html" class="sub2">Tai Nghe Phòng Thu</a>
224                    <a href="/tai-nghe-the-thao.html" class="sub2">Tai Nghe Thể Thao</a>
225                    <a href="/tai-nghe-choi-game.html" class="sub2">Tai Nghe Chơi Game</a>
226                    <a href="/tai-nghe-co-mic.html" class="sub2">Tai Nghe Có Mic</a>
227                    <a href="/tai-nghe-call-center.html" class="sub2">Tai Nghe Call Center</a>
228                    <a href="/tai-nghe-tre-em.html" class="sub2">Tai Nghe Trẻ Em</a>
229                </div>
230
231                <div class="box-sub brand">
232                    <h3>Thương hiệu</h3>
233                    <div id="brand1">
234                        <a href="/tai-nghe-sony">Sony</a>
235                        <a href="/tai-nghe-64audio">64 Audio</a>
236                        <a href="/tai-nghe-aaw">AAW</a>
237                        <a href="/tai-nghe.html?brand=102&sort=price-asc">Apple</a>
238                        <a href="/tai-nghe.html?brand=188&sort=price-asc">Fiil</a>
239                        <a href="/tai-nghe.html?brand=51&sort=price-asc">JBL</a>
240                        <a href="/tai-nghe-audio-technica">Audio-technica</a>
241                        <a href="/tai-nghe-auglamour">Auglamour</a>
242                        <a href="/tai-nghe.html?brand=38&sort=price-asc">Skullcandy</a>
243                        <a href="/tai-nghe.html?brand=147&sort=price-asc">SoundPeats</a>
244                        <a href="/tai-nghe-beats">Beats</a>
245                        <a href="/tai-nghe-beyerdynamic">Beyerdynamic</a>
246                        <a href="/tai-nghe.html?brand=160&sort=price-asc">B&O</a>
247                        <a href="/tai-nghe-bose">Bose</a>
248                        <a href="/tai-nghe-campfire">Campfire</a>
249                        <a href="/tai-nghe.html?brand=103&sort=price-asc">Focal</a>
250                        <a href="/tai-nghe-denon">Denon</a>
251                        <a href="/tai-nghe-grado">Grado</a>
252                        <a href="/tai-nghe-hifiman">Hifiman</a>
253                        <a href="/tai-nghe-jabra">Jabra</a>
254                        <a href="/tai-nghe-sennheiser">Sennheiser</a>
255                        <a href="/tai-nghe-shozy">Shozy</a>
256                        <a href="/tai-nghe-shure">Shure</a>
257                        <a href="/tai-nghe.html?brand=161&sort=price-asc">Tribit</a>
258                        <a href="/tai-nghe-soundmagic">SoundMAGIC</a>
259                        <a href="/tai-nghe.html?brand=17&sort=price-asc">iBasso</a>
260                        <a href="/tai-nghe.html?brand=11&sort=price-asc">Fiio</a>
261                        <a href="/tai-nghe.html?brand=143&sort=price-asc">Sabbat</a>
262                        <a href="/tai-nghe.html?brand=141&sort=price-asc">Moondrop</a>
263                        <a href="/tai-nghe.html?brand=54&sort=price-asc">Marshall</a>
264                        <a href="/tai-nghe-westone">Westone</a>
265                        <a href="/tai-nghe.html?brand=162&sort=price-asc">Dunu</a>
266                        <a href="/tai-nghe-yuin">Yuin</a>
267                        <a href="/tai-nghe.html?brand=49&sort=price-asc">Campire</a>
268                    </div>
269                </div>
270
271                <div class="banner-sub-menu">
272                    
273                </div>
274            </div>
275        </li>
276
277        <li>
278            <span class="box_icon_cat"><img src="https://tainghe.com.vn/media/category/cb_a22746738a475a75211f96a98549a811.png" alt="MÁY NGHE NHẠC" class="icon-cat"/></span>
279            <a href="/may-nghe-nhac.html" class="root">MÁY NGHE NHẠC</a>
280            <div class="sub-nav" style="min-height: 466px;">
281                <div class="left">
282                    <h3>Phân loại</h3>
283                    <a href="/may-nghe-nhac-lossless.html" class="sub2">Máy Nghe Nhạc Lossless</a>
284                    <a href="/may-nghe-nhac-the-thao.html" class="sub2">Máy Nghe Nhạc Thể Thao</a>
285                    <a href="/may-nghe-nhac-hires.html" class="sub2">Máy Nghe Nhạc Hires</a>
286                </div>
287                <div class="box-sub brand">
288                    <h3>Thương hiệu</h3>
289                    <div id="brand4">
290                        <a href="/may-nghe-nhac-astell-kern">Astell & Kern</a>
291                        <a href="/may-nghe-nhac-sony">Sony</a>
292                        <a href="/may-nghe-nhac-aune">Aune</a>
293                        <a href="/may-nghe-nhac-fiio">Fiio</a>
294                        <a href="/may-nghe-nhac-ibasso">iBasso</a>
295                        <a href="/may-nghe-nh
295ac-hidizs">Hidizs</a>    
296                        <a href="/may-nghe-nhac-shanling">Shanling</a>     
297                        <a href="/may-nghe-nhac-cayin">Cayin</a> 
298                    </div>
299                </div>
300                <div class="banner-sub-menu"></div>
301            </div>
302        </li>
303
304        <li>
305            <span class="box_icon_cat"><img src="https://tainghe.com.vn/media/category/cb_f6c8dd5cf8f95e19e99ef874e3edc242.png" alt="LOA | SPEAKER" class="icon-cat"/></span>
306            <a href="/loa.html" class="root">LOA | SPEAKER</a>
307            <div class="sub-nav" style="min-height: 466px;">
308                <div class="left">
309                    <h3>Phân loại</h3>
310                    <a href="/loa-di-dong.html" class="sub2">Loa Di Động</a>
311                    <a href="/loa-vi-tinh.html" class="sub2">Loa Vi Tính</a>
312                    <a href="/loa-bluetooth.html" class="sub2">Loa Bluetooth</a>
313                    <a href="/loa-bookshelf.html" class="sub2">Loa Để Bàn</a>
314                    <a href="/loa-sound-bar.html" class="sub2">Loa Soundbar</a>
315                    <a href="/loa-hoi-nghi.html" class="sub2">Loa Hội Nghị</a>
316                    <a href="/loa-karaoke.html" class="sub2">Loa Karaoke</a>
317                </div>
318                <div class="box-sub brand">
319                    <h3>Thương hiệu</h3>
320                    <div id="brand6">
321                        <a href="/loa-jbl">JBL</a>
322                        <a href="/loa-sony">Sony</a>
323                        <a href="/loa-marshall">Marshall</a>
324                        <a href="/loa-bose">Bose</a>
325                        <a href="/loa.html?sort=price-asc&brand=161">Tribit</a>
326                        <a href="/loa-harman-kardon">Harman Kardon</a>
327                        <a href="/loa.html?brand=160&sort=price-asc">B&O</a>
328                    </div>
329                </div>
330                <div class="banner-sub-menu"></div>
331            </div>
332        </li>
333
334        <li>
335            <span class="box_icon_cat"><img src="https://tainghe.com.vn/static/assets/2024/images/no_img.png" alt="CUSTOM IN EAR" class="icon-cat"/></span>
336            <a href="/custom-in-ear.html" class="root">CUSTOM IN EAR</a>
337        </li>
338
339        <li>
340            <span class="box_icon_cat"><img src="https://tainghe.com.vn/media/category/cb_34ead602847eccffd2bc5af611a422d2.png" alt="AMP & DAC" class="icon-cat"/></span>
341            <a href="/amp-dac.html" class="root">DAC - AMP</a>
342            <div class="sub-nav" style="min-height: 466px;">
343                <div class="left">
344                    <h3>Phân loại</h3>
345                    <a href="/dac-may-tinh.html" class="sub2">DAC</a>
346                    <a href="/dac-amp-di-dong.html" class="sub2">DAC/AMP Di Động</a>
347                    <a href="/headphone-amp.html" class="sub2">Âm Ly Di Động</a>
348                    <a href="/amp-de-ban.html" class="sub2">Âm Ly Để Bàn</a>
349                    <a href="/bluetooth-dac-amp.html" class="sub2">Bluetooth DAC/AMP</a>
350                    <a href="/dau-phat-cd.html" class="sub2">Đầu phát CD</a>
351                </div>
352                <div class="box-sub brand">
353                    <h3>Thương hiệu</h3>
354                    <div id="brand5">
355                        <a href="/amp-dac-topping">Topping</a>
356                        <a href="/amp-dac-chord-electronics">Chord Electronics</a>
357                        <a href="/amp-dac-aune">Aune</a>
358                        <a href="/amp-dac-fiio">Fiio</a>
359                        <a href="/amp-dac-jds">JDSlabs</a>
360                        <a href="/amp-dac-earstudio">Earstudio</a>
361                        <a href="/amp-dac-ibasso">iBasso</a>
362                        <a href="/amp-dac-xduoo">xDuoo</a>
363                        <a href="/amp-dac-hidizs">Hidizs</a>
364                        <a href="/amp-dac-oriolus">Oriolus</a>
365                        <a href="/amp-dac-shanling">Shanling</a>
366                    </div>
367                </div>
368                <div class="banner-sub-menu"></div>
369            </div>
370        </li>
371
372        <li>
373            <span class="box_icon_cat"><img src="https://tainghe.com.vn/media/category/cb_d3306ab36c10519e174cd70561740e69.png" alt="CABLES" class="icon-cat"/></span>
374            <a href="/hi-end-cables.html" class="root">Dây Dẫn Cao Cấp</a>
375            <div class="sub-nav" style="min-height: 466px;">
376                <div class="left">
377                    <h3>Phân loại</h3>
378                    <a href="/iem-ciem-cables.html" class="sub2">IEM/CIEM Cables</a>
379                    <a href="/headphones-cables.html" class="sub2">Headphones Cables</a>
380                    <a href="/interconnect-cables.html" class="sub2">Interconnect Cables</a>
381                </div>
382                <div class="box-sub brand">
383                    <h3>Thương hiệu</h3>
384                    <div id="brand3">
385                        <a href="/hi-end-cables-satin-audio">Satin Audio</a>
386                        <a href="/hi-end-cables-effect-audio">Effect Audio</a>
387                        <a href="/hi-end-cables-oriolus">Oriolus</a>
388                        <a href="/hi-end-cables-pwaudio">PWaudio</a>
389                    </div>
390                </div>
391                <div class="banner-sub-menu"></div>
392            </div>
393        </li>
394
395        <li>
396            <span class="box_icon_cat"><img src="https://tainghe.com.vn/static/assets/2024/images/no_img.png" alt="PHỤ KIỆN" class="icon-cat"/></span>
397            <a href="/phu-kien.html" class="root">PHỤ KIỆN</a>
398            <div class="sub-nav" style="min-height: 466px;">
399                <div class="left">
400                    <h3>Phân loại</h3>
401                    <a href="/gia-treo-tai-nghe.html" class="sub2">Giá Treo Tai Nghe</a>
402                    <a href="/day-noi-dai-tai-nghe.html" class="sub2">Dây Nối Dài Tai Nghe</a>
403                    <a href="/giac-chia-tai-nghe.html" class="sub2">Giắc | Dây Kết Nối</a>
404                    <a href="/eartips-earpads.html" class="sub2">Eartip | Earpad</a>
405                    <a href="/pin-du-phong.html" class="sub2">Pin | Dây Sạc | Ổ Cắm</a>
406                    <a href="/Case.html" class="sub2">Case | Túi Đựng</a>
407                    <a href="/the-nho.html" class="sub2">Thẻ Nhớ</a>
408                    <a href="/may-ghi-am-chinh-hang.html" class="sub2">Máy Ghi Âm</a>
409                    <a href="/ghe-cong-thai-hoc.html" class="sub2">Ghế Công Thái Học</a>
410                    <a href="/phu-kien-khac.html" class="sub2">Phụ Kiện Khác</a>
411                </div>
412                <div class="box-sub brand">
413                    <h3>Thương hiệu</h3>
414                    <div id="brand7">
415                        <a href="/phu-kien-comply">Comply</a>
416                        <a href="/phu-kien-spinfit">Spinfit</a>
417                        <a href="/phu-kien-pelican">Pelican</a>
418                        <a href="/phu-kien.html?brand=112&sort=price-asc">Zoom</a>
419                        <a href="/phu-kien-elecom">Elecom</a>
420                        <a href="/phu-kien-soundmagic">SoundMAGIC</a>
421                        <a href="/phu-kien-shanling">Shanling</a>
422                    </div>
423                </div>
424                <div class="banner-sub-menu"></div>
425            </div>
426        </li>
427
428        <li>
429            <span class="box_icon_cat"><img src="https://tainghe.com.vn/media/category/cb_a8aafc2b7d451a37409bddc7ee8a18e9.png" alt="HÀNG QUA SỬ DỤNG" class="icon-cat"/></span>
430            <a href="/hang-qua-su-dung.html" class="root">HÀNG QUA SỬ DỤNG</a>
431        </li>
432
433        <li>
434            <span class="box_icon_cat"><img src="https://tainghe.com.vn/static/assets/2024/images/no_img.png" alt="DỊCH VỤ" class="icon-cat"/></span>
435            <a href="/dich-vu.html" class="root">DỊCH VỤ</a>
436            <div class="sub-nav" style="min-height: 466px;">
437                <div class="left">
438                    <a href="/sua-chua-tai-nghe.html" class="sub2">Sá»­a Tai Nghe</a>
439                    <a href="/ve-sinh-tai-nghe.html" class="sub2">Vệ Sinh Tai Nghe</a>
440                </div>
441                <!--
442                    <div class="box-sub brand">
443                      <h3>Thương hiệu</h3>
444                      <div id="brand85">
445                      </div>
446                    </div>
447                    -->
448                <div class="banner-sub-menu"></div>
449            </div>
450        </li>
451        
452        <li>
453            <span class="box_icon_cat"><img src="https://tainghe.com.vn/media/category/cb_a8aafc2b7d451a37409bddc7ee8a18e9.png" alt="Brand" class="icon-cat"/></span>
454            <a href="/brand" class="root">BRANDS</a>
455        </li>
456    </ul>
457</div>
458
459        <div id="search">
460            <form method="get" name="searchForm" action="/tim" enctype="multipart/form-data">
461                <input type="text" id="js-global-search" class="text-search" name="q" autocomplete="off" placeholder="Bạn muốn tìm sản phẩm gì ?"/>
462                <button type="button" id="submit-search" class="icon"></button>
463            </form>
464            <div class="autocomplete-suggestions" id="js-search-holder"></div>
465        </div>
466
467        <ul id="hotline-top" class="ul" style="">
468            <li style="line-height: 16px !important;height: 45px;margin-top: 0;"><i class="icon icon-hotline"></i><span>Gọi ngay 097395 3333 | 028 73002728</span></li>
469        </ul>
470    </div>
471</nav>
472<div class="clear"></div>
473        <div class="container wrap">
474            <!-- 
474<script src="{#INCLUDE_PATH#}configPro.js?V=3.79236"></script>
474 -->
475
476
477<div id="container" class="cart">
478    <div id="breadcrumb" itemscope="" itemtype="http://schema.org/BreadcrumbList">
479        <div itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
480            <a href="/" itemprop="item" class="nopad-l">
481                <span itemprop="name">Trang chá»§</span>
482                <meta itemprop="position" content="1">
483            </a>
484            ›
485        </div>
486        <div itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
487            <a href="https://tainghe.com.vn/cart" itemprop="item">
488                <span itemprop="name">Giỏ hàng</span>
489                <meta itemprop="position" content="2">
490            </a>
491        </div>
492    </div>
493  
494    
495    <p style="text-align:center; font-size:15px;">Giỏ hàng có 0 sản phẩm, quý khách vui lòng quay lại trang <a href="/">sản phẩm</a> để đặt hàng</p>
496    
497</div>
498
499<style>    
500    .icon_inbaogia{background:url("/static/assets/2024/images/print_ico.png") no-repeat left center;font-size: 14px;display:block;float: right;padding:8px 0 8px 25px;background-size: 18px;}
501    .mau_sac_config .item-attribute-config{height:22px;display:block;margin:4px 0;font-size:13px;border:none;line-height:20px;}
502    p.mau_sac_config .config-selected:after{content:'';border:solid 4px transparent;width:0;height:0;border-top-color:#666;float:right;margin-top:8px;}
503    p.mau_sac_config .config-selected{display:block;min-width:80px;padding:0 5px;cursor:pointer;}
504    .mau_sac_config .item-attribute-config i{font-style:normal;}
505    .item-attribute-config.selected{color:#e00;}
506    .item-config .title{width:auto !important;margin-right:10px;line-height:20px;}
507    p.mau_sac_config{height:20px;line-height:20px;position:relative;border:solid 1px #ccc;text-align:center;}
508    p.mau_sac_config .content{background:#fff;border:solid 1px #ccc;position:absolute;left:-1px;min-width:90px;padding-bottom:5px;display:none;z-index:999;}
509    .mau_sac_config b.item-attribute-config i:first-child{width:20px;height:20px;float:left;border:1px solid #ccc;}
510    /*  .mau_sac_config .content i {display:  none;}
511    .mau_sac_config .content b {width: 20px;display: inline-block;height: 20px;float: left;padding: 0;}*/
512    .cart-voucher-group > span {display: inline-block;margin-right: 15px;}
513    .cart-voucher-group .voucher-input {display: inline-block;}
514    .cart-voucher-group .voucher-input > input {border: 1px solid #ccc;height: 30px;padding-left: 10px;border-radius: 5px;margin-right: 5px;}
515    .cart-voucher-group .button-check-discount {background: #0197d6;color: #fff;text-transform: uppercase;border: 0;border-radius: 5px;height: 34px;cursor: pointer;padding: 0 10px;}
516</style>
517            <div class="clear"></div>
518        </div>
519        <div class="clear"></div>
520<p>&nbsp;</p>
521
522
523<div class="container" id="js-history-container" style="display: none">
524    <div id="product-list">
525        <div class="h-title title-common">Sản phẩm đã xem</div>
526        <div id="js-history-holder" class="product-list" style="width:1200px;"> </div>
527    </div>    
528</div>
529
530
531<footer id="footer">
532    <div id="news-bottom">
533        <div class="container">
534            
535            <div class="box-news-bottom-left nomar-l">
536                <div class="h-title">
537                    <!--i class="icon icon-news"></i--> Tin nổi bật <a class="view_all_news_bottom" href="/tin-tuc">Xem hết ></a>
538                </div>
539                <ul class="ul" id="js-footer-top-article"> <!-- // top_article_list --> </ul>
540            </div>
541
542            <div class="box-news-bottom">
543                <div class="h-title">Tin tức mới <a class="view_all_news_bottom" href="/tin-tuc">Xem hết ></a></div>
544                <ul class="ul" id="js-footer-new-article"></ul>
545            </div>
546            
547        </div>
548    </div>
549
550    <div class="clear"></div>
551
552    <div id="box-footer">
553        <div class="container">
554            <ul class="ul">
555                <li>
556                    <div class="h-title">Xuân Vũ Audio</div>
557                    <a href="/gioi-thieu-he-thong-cua-hang">
558                      <i class="fas fa-chevron-right"></i>
559                      <span>Giới thiệu hệ thống cửa hàng</span>
560                    </a>
561                    <a href="/tuyen-dung.html">
562                      <i class="fas fa-chevron-right"></i>
563                      <span>Tuyển dụng</span>
564                    </a>
565                    <a href="/khuyen-mai.html">
566                      <i class="fas fa-chevron-right"></i>
567                      Tin tức khuyến mại</a>
568                </li>
569
570                <li>
571                    <div class="h-title">Chính sách & Quy định</div>
572                    <a href="/chinh-sach-bao-hanh.html">
573                      <i class="fas fa-chevron-right"></i>
574                      <span>Chính sách bảo hành</span></a>
575                    <a href="/chinh-sach-doi-tra-hang.html">
576                      <i class="fas fa-chevron-right"></i>
577                      <span>Chính sách đổi trả hàng</span></a>
578                    <a href="/quy-che-hoat-dong.html">
579                      <i class="fas fa-chevron-right"></i>
580                      <span>Quy chế hoạt động</span></a>
581                    <a href="/chinh-sach-bao-mat.html">
582                      <i class="fas fa-chevron-right"></i>
583                      <span>Chính sách bảo mật</span></a>
584                </li>
585
586                <li>
587                    <div class="h-title">Hướng dẫn sử dụng</div>
588                    <a href="/huong-dan-mua-hang.html">
589                      <i class="fas fa-chevron-right"></i><span>Hướng dẫn mua hàng</span></a>
590                    <a href="/huong-dan-thanh-toan.html">
591                      <i class="fas fa-chevron-right"></i><span>Hướng dẫn thanh toán</span></a>
592                    <!---<a href="/huong-dan-mua-hang-tra-gop.html">Hướng dẫn mua hàng trả góp</a>--->
593                    <a href="/the-khach-hang-than-thiet.html">
594                      <i class="fas fa-chevron-right"></i><span>Khách hàng thân thiết</span></a>
595                </li>
596
597                <li>
598                    <div class="h-title">Tổng đài hỗ trợ</div>
599                    <a>
600                       <img src="/static/assets/2024/images/02_dien_thoai.png" width="20px" height="20px" style="display: block;width: 15px;" alt="phone" /><span>097395 3333 | 028 73002728</span>
601                  </a>
602                    <a href="mailto:[email protected]"><img src="/static/assets/2024/images/03_email.png" width="20px" height="20px" style="display: block;width: 15px;" alt="phone" /> <span>Email: [email protected]</span></a>
603                    <a><img src="/static/assets/2024/images/04_gio_mo_cua.png" width="20px" height="20px" style="display: block;width: 15px;" alt="phone" /> <span>Giờ mở cửa: 8h - 21h</span></a>
604                </li>
605
606                <li>
607                    <a href="#" class="box-footer-button"><i class="icon icon-ontop"></i>Về đầu trang</a>
608                    <a href="?show_version=mobile" class="box-footer-button" rel="nofollow" style="white-space: nowrap;"><i class="icon icon-mobile"></i>Xem bản mobile</a>
609                    <div id="social-footer">
610                        <span style="margin-right: 10px;">Kết nối</span>
611                        <a href="https://www.facebook.com/xuanvuaudio/" target="_blank"><img src="/static/assets/2024/images/06_facebook.png" width="20px" height="20px" style="display: block;width: 20px;" alt="phone" /></a>
612                        <a href="https://www.youtube.com/xuanvuaudio" target="_blank"><img src="/static/assets/2024/images/07_youtube.png" width="20px" height="20px" style="display: block;width: 20px;" alt="phone" /></a>
613                        <a href="https://www.tiktok.com/@xuanvuaudio.official" target="_blank"><img data-src="/static/assets/2024/images/icon_tiktok.png" alt="insta" width="1" height="1" style="display: block;width: 20px;" class="lazy" /></a>
614                        <a href="https://www.instagram.com/xuanvuaudio/" target="_blank"><img data-src="/static/assets/2024/images/08_instagram_2.png" alt="insta" width="1" height="1" style="display: block;
614width: 20px;" class="lazy" /></a>
615                    </div>
616                </li>
617            </ul>
618             <div class="clear"></div>
619        </div>
620    </div>
621  
622     <div id="list-showroom">
623        <div class="container">
624          <div class="title">
625              <img src="/static/assets/2024/images/01_dia_chi.png" width="20px" height="20px" style="display: block;width: 20px;" alt="phone" />
626              <p>Hệ thống cửa hàng</p>
627          </div>
628          
629            <ul class="ul" style="display: flex; flex-wrap: wrap;margin: 0 70px;">
630                <li style="flex: 1">
631                    <img data-src="/static/assets/2024/images/163lngh.jpg" alt="showroom" width="1" height="1" class="lazy"/>
632                    <div class="showroom-right">
633                        <b style="margin-bottom: 10px;display: block;">Xuân Vũ Láng Hạ</b>
634                        <div class="d-flex align-items" style="gap: 5px;margin-bottom: 10px;">
635                          <img src="/static/assets/2024/images/01_dia_chi.png" width="20px" height="20px" style="display: block;width: 16px;height: auto;object-fit: contain;" alt="" />
636                          <span>163 Láng Hạ, P. Đống Đa, Hà Nội</span>
637                        </div>
638                        <div class="d-flex align-items" style="gap: 5px;margin-bottom: 10px;">
639                          <img src="/static/assets/2024/images/09_zalo.png" width="20px" height="20px" style="display: block;width: 16px;height: auto;object-fit: contain;" alt="" />
640                          <span>Zalo 097365 2222</span>
641                        </div>  
642                        <div class="d-flex align-items" style="gap: 5px;margin-bottom: 10px;">
643                           <img src="/static/assets/2024/images/02_dien_thoai.png" width="20px" height="20px" style="display: block;width: 16px;height: auto;object-fit: contain;" alt="" />
644                           <span>Tổng đài: Máy lẻ 1</span>
645                         </div>  
646                      <div class="d-flex align-items" style="gap: 5px;margin-bottom: 10px;">
647                        <a href="https://www.google.com/maps/place/Xu%C3%A2n+V%C5%A9+Audio+-+165+L%C3%A1ng+H%E1%BA%A1/@21.011178,105.8092818,17z/data=!3m1!4b1!4m5!3m4!1s0x3135ac9e0003978d:0xa7495c69dfe81bd!8m2!3d21.011178!4d105.8114705" target="_blank">Bản đồ đường đi <i class="fas fa-long-arrow-alt-right"></i></a>
648                      </div>  
649                    </div>
650                </li>
651
652                <!--<li style="flex: 1">
653                    <img data-src="/static/assets/2024/images/3753_8332_khaitrng.jpg" alt="showroom" width="1" height="1" class="lazy"/>
654                    <div class="showroom-right">
655                        <b>Xuân Vũ Phố Huế</b><br/>
656                        206 Phố Huế, Hai Bà Trưng, Hà Nội<br/>
657                        Mở cửa: 8h - 21h<br/>
658                        Số máy lẻ: 2<br/>
659                        <a href="https://goo.gl/maps/touj9BkcV1YtSebT8" target="_blank">Bản đồ đường đi</a>
660                    </div>
661                </li>-->
662
663                <li style="flex: 1">
664                    <img data-src="/static/assets/2024/images/caothng.jpg" alt="showroom" width="1" height="1" class="lazy" />
665                    <div class="showroom-right">
666                        <b style="margin-bottom: 10px;display: block;">Xuân Vũ Cao Thắng</b>
667                        <div class="d-flex align-items" style="gap: 5px;margin-bottom: 10px;">
668                          <img src="/static/assets/2024/images/01_dia_chi.png" width="20px" height="20px" style="display: block;width: 16px;height: auto;object-fit: contain;" alt="" />
669                          <span>98 Cao Thắng, P. Bàn Cờ, Hồ Chí Minh</span>
670                        </div>
671                        <div class="d-flex align-items" style="gap: 5px;margin-bottom: 10px;">
672                          <img src="/static/assets/2024/images/09_zalo.png" width="20px" height="20px" style="display: block;width: 16px;height: auto;object-fit: contain;" alt="" />
673                          <span>Zalo 097844 5555</span>
674                        </div>
675                        <div class="d-flex align-items" style="gap: 5px;margin-bottom: 10px;">
676                           <img src="/static/assets/2024/images/02_dien_thoai.png" width="20px" height="20px" style="display: block;width: 16px;height: auto;object-fit: contain;" alt="" />
677                           <span>Tổng đài: Máy lẻ 3</span>
678                        </div>
679                        <div class="d-flex align-items" style="gap: 5px;margin-bottom: 10px;">
680                        <a href="https://www.google.com/maps/place/Xu%C3%A2n+V%C5%A9+Audio+-+98+Cao+Th%E1%BA%AFng/@10.7715432,106.6783924,17z/data=!3m1!4b1!4m5!3m4!1s0x31752f210c9ac2eb:0x86487ac09f153660!8m2!3d10.7715432!4d106.6805811" target="_blank">Bản đồ đường đi <i class="fas fa-long-arrow-alt-right"></i></a>
681                      </div>  
682                    </div>
683                </li>
684
685                <!---<li style="flex: 1">
686                    <img data-src="https://tainghe.com.vn/media/lib/pdp.jpg" alt="showroom" width="1" height="1" class="lazy" />
687                    <div class="showroom-right">
688                        <b>Xuân Vũ Phan Đình Phùng</b><br/>
689                        92 Phan Đình Phùng, P. Cầu Kiệu, Hồ Chí Minh<br/>
690                        Mở cửa: 8h - 21h<br/>
691                        Số máy lẻ: 4<br/>
692                        <a href="https://www.google.com/maps/place/Xu%C3%A2n+V%C5%A9+Audio+-+92+Phan+%C4%90%C3%ACnh+Ph%C3%B9ng/@10.794378,106.6818293,17z/data=!3m1!4b1!4m5!3m4!1s0x31752926c17e81a1:0xb2bdad0f7a65ab6a!8m2!3d10.794378!4d106.684018" target="_blank">Bản đồ đường đi</a>
693                    </div>
694                </li>--->
695            </ul>
696        </div>
697        <div class="clear"></div>
698    </div>
699
700    <div class="clear"></div>
701  <div style="background: #f6f6f6;">
702  <div class="container">
703    <div class="ft-badges">
704      <div class="ft-badge">
705         <img src="/static/assets/2024/images/10_thanh_toan.png" width="20px" height="20px" style="display: block;width: 40px;height: auto;object-fit: contain;" alt="" />
706        <span>Thanh toán<br>dễ dàng</span>
707      </div>
708      <div class="ft-badge">
709        <div class="pay-list">
710          <div class="pay-item"><img src="/static/assets/2024/images/VNPAY.png" width="20px" height="20px" style="display: block;width: 40px;height: auto;object-fit: contain;" alt="" /></div>
711          <div class="pay-item"><img src="/static/assets/2024/images/tien_mat.png" width="20px" height="20px" style="display: block;width: 40px;height: auto;object-fit: contain;" alt="" /></div>
712          <div class="pay-item"><img src="/static/assets/2024/images/13_chuyen_khoan.png" width="20px" height="20px" style="display: block;width: 40px;height: auto;object-fit: contain;" alt="" /></div>
713        </div>
714      </div>
715      <div class="ft-badge">
716        <img src="/static/assets/2024/images/14_chung_nhan_website.png" width="20px" height="20px" style="display: block;width: 40px;height: auto;object-fit: contain;" alt="" />
717        <span>Chứng nhận<br>Website</span>
718      </div>
719      <div class="ft-badge">
720        <a href="#" class="" target="_blank" rel="noopener" aria-label="Đã thông báo Bộ Công Thương">
721            <img src="/static/assets/2024/images/bct.png" width="20px" height="20px" style="display: block;width: 170px;height: 46px;object-fit: contain;" alt="" />
722        </a>
723      </div>
724      <div class="ft-badge">
725        <a href="#" class="dmca" target="_blank" rel="noopener" aria-label="DMCA Protected">
726          <svg viewBox="0 0 38 44"><path d="M19 1 2 7v12c0 11 7.4 20.4 17 23.5 9.6-3.1 17-12.5 17-23.5V7z" fill="#1668dc"/><path d="m11 22 6 6 11-12" fill="none" stroke="#fff" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>
727          <span><b>DMCA</b><small>PROTECTED</small></span>
728        </a>
729      </div>
730    </div>
731  </div>
732    <div class="clear"></div>
733
734   
735
736    <div class="container" style="padding:12px 0;font-size: 12px">
737        Công ty TNHH Truyền Thông Xuân Vũ. ĐKKD số 0105273484 cấp tại Sở KH & ĐT thành phố Hà Nội. Địa chỉ: 60/22 Phan Đình Giót, Phương Liệt, Thanh Xuân, Hà Nội 
738    </div>
739    <div class="clear"></div>
740  </div>
741</footer>
742
743<div id="toTop" class="icon icon-ontop"></div>
744
745<div class="ppocta-ft-fix">
746    <a id="messengerButton" href="https://www.messenger.com/t/xuanvuaudio"> </a>
747    <a id="zaloButton" href="https://zalo.me/688120756259237573"> </a>
748    <a id="calltrap-btn" class="b-calltrap-btn calltrap_offline hidden-phone visible-tablet" href="tel:0973953333"> </a>
749</div>
750<!-- <div id="chatFB">
751    <div class="title"><img data-src="/static/assets/2024/images/title_fbchat.png" alt="chat FB"  width="1" height="1" class="lazy"/>  </div>
752    <a href="https://www.messenger.com/t/xuanvuaudio" target="_blank">
753        <img data-src="/static/assets/2024/images/Icon_Facebook_Messenger.png" alt="chat FB"  width="1" height="1" class="lazy"/>  
754    </a>
755    </div> -->
756<!--chatFB-->
757<div class="success-form" style="display: none">
758    <div class="content-container">
759        <div class="success-checkmark">
760            <div class="check-icon">
761                <span class="icon-line line-tip"></span>
762                <span class="icon-line line-long"></span>
763                <div class="icon-circle"></div>
764                <div class="icon-fix"></div>
765            </div>
766        </div>
767
768        <div class="text-center content-text text-23"> Thêm sản phẩm vào giỏ hàng thành công !</div>
769    </div>
770</div>
771
772
773    </div>
774  
775    
775<script src="https://static.gleecdn.com/hura8/v3/hura8.js?5"></script>
vendor: 1 bytes, line 775
775
776<script src="https://static.gleecdn.com/hura8/v3/vendors.js?5"></script>
vendor: 1 bytes, line 776
776
777<script src="/static/assets/2024/script/library.js?08102026061250"></script>
777
778
779
780
781<script>
782    var mb_pd_artTpl = `  
783      <div class="item">
784          <img alt="{%= item.title %}" src="{%= item.image.original %}" style="opacity: 1; display: block;"/>
785          <a href="{%= item.url %}" class="block" >{%= item.title %}</a>
786          <div class="counts"><span><i class="fa fa-eye"></i> {%= item.visit %} lượt xem</span></div>
787          <div class="clr"></div>
788      </div>
789    `
790  
791    var mb_home_art = `
792        <li class="clearfix" style="min-height: 210px;" data-id="{%= item.id %}">
793            <div class="nl_info">
794                <div class="nl_title">
795                    <a href="{%= item.url %}">{%= item.title %}</a>
796                </div>
797                <div class="nl_date">
798                    {% if (item.article_time) { %} {%= item.article_time %}
799                    {% } else { %}{%= item.lastUpdate %}
800                    {% } %}
801                </div>
802                <div class="nl_sapo">
803                    <div class="nl_img">
804                        <a href="{%= item.url %}" title="{%= item.title %}">
805                        <img src="{%= item.image.original %}" alt="{%= item.title %}" width="100" /></a>
806                    </div>
807                    {%= item.summary %}
808                </div>
809            </div>
810        </li>
811    `;
812  
813    var promotionTpl = `
814        <div class="item">
815            <div class="p-km-contianer">
816                <a href="{%= item.productUrl %}" class="p-km" target="_blank">
817                    <img src="{%= item.productImage.large %}" alt="{%= item.productName %}"  />
818                </a>
819
820                <div class="content">
821                    <a href="{%= item.productUrl %}" class="n-km" target="_blank">{%= item.productName %}</a>
822
823                    <div class="all-price">
824                        <span class="price">
825                            {% if (item.price > 0) { %} {%= formatCurrency(item.price) %} đ
826                            {% } else { %} Liên hệ
827                            {% } %}
828                        </span>
829
830                        {% if (item.price_off > 0) { %} 
831                        <span class="old-price">{%= formatCurrency(item.marketPrice) %} ₫</span>
832                        {% } %}
833                    </div>
834
835                    {% if (item.price_off > 0) { %}
836                    <div class="discount"><span>-{%= Math.ceil(item.price_off) %}%</span></div>
837                    {% } %}
838
839                    {% if (item.specialOffer.gift) { %}
840                    <div class="is_specialOffer">Quà tặng</div>
841                    {% } %}
842                </div>
843            </div>
844        </div>
845    `
846
847    var pd_voucherTpl = `
848        {% if (item.show_to_public == 1) { %}
849        <div class="item">
850            <i class="fas fa-star"></i> Nhập mã <b class="js-voucher-text" onclick="copyText('{%= item.code %}', this)" style="cursor: pointer;">{%= item.code %}</b> {%= item.title %}
851        </div>
852        {% } %}
853    `
854
855    var pd_articleTpl = `
856        <li>
857            <img src="{%= item.image.original %}" alt="{%= item.title %}" />
858            <div><a href="{%= item.url %}" title="{%= item.title %}">{%= item.title %}</a></div>
859        </li>
860    `
861  
862    var pd_productTpl = `
863        <li>
864            <a href="{%= item.productUrl %}" class="img">
865                <img src="{%= item.productImage.large %}" alt="{%= item.productName %}"  />
866            </a>
867
868            <div class="p-right">
869                <a href="{%= item.productUrl %}" class="name">{%= item.productName %}</a>
870
871                <span class="p-price">
872                    {% if (item.price > 0) { %} {%= formatCurrency(item.price) %} đ
873                    {% } else { %} Liên hệ
874                    {% } %}
875                </span>
876                <span class="p-old-price">
877                    {% if (item.marketPrice > item.price && item.price > 0) { %} {%= formatCurrency(item.marketPrice) %}đ {% } %}
878                </span>
879            </div>
880        </li>
881    `
882
883    var footer_new_article = `
884        <li>
885            <div>
886                <a href="{%= item.url %}">
887                    <img src="{%= item.image.original %}" alt="{%= item.title %}" />
888                </a>
889            </div>
890            <p class="name"><a href="{%= item.url %}" title="{%= item.title %}">{%= item.title %}</a></p>
891            <span class="time">
892                {% if (item.article_time) { %} {%= item.article_time %}
893                {% } else { %}{%= item.lastUpdate %}
894                {% } %}
895                - {%= item.visit %} lượt xem
896            </span>
897        </li>
898    `;
899
900    var footer_top_article = `
901        <li>
902            <a href="{%= item.url %}" class="img_news_bottom"><img src="{%= item.image.original %}" alt="{%= item.title %}" /></a>
903            <div class="a-right">
904                <div class="name">
905                    <a href="{%= item.url %}" title="{%= item.title %}">{%= item.title %}</a>
906                </div>
907                <div class="summary">{%= item.summary %}</div>
908                <a href="{%= item.url %}" class="read_more">Xem chi tiết ></a>
909                <span class="time">
910                    {% if (item.article_time) { %} {%= item.article_time %}
911                    {% } else { %}{%= item.lastUpdate %}
912                    {% } %}
913                </span>
914            </div>
915        </li>
916        
917    `;
918
919    var mb_productTpl = `
920        <div class="item-content-product">
921            <div class="border-product">
922                <div class="box-product">
923
924                    {% if (item.price_off > 0) { %} 
925                    <div class="price_off">-{%= Math.ceil(item.price_off) %}%</div> 
926                    {% } %}
927                    
928                    {% if (item.quantity <= 0 && item.quantity != -5) { %} 
929                    <span class="status_contact">
930                        {% if (item.quantity == 0) { %}  Tạm hết hàng
931                        {% } else if (item.quantity == -1) { %} Tạm hết hàng
932                        {% } else if (item.quantity == -2) { %} Sắp có hàng
933                        {% } else if (item.quantity == -3) { %} Gọi để có giá tốt
934                        {% } else if (item.quantity == -4) { %} Vừa có hàng
935                        {% } %}
936                    </span>
937                    {% } %}
938
939                    {% if (item.specialOffer.gift) { %} <div class="is_specialOffer">Quà tặng</div> {% } %}
940
941                    <a href="{%= item.productUrl %}">
942                        <img class="img-content-product" src="{%= item.productImage.large %}" alt="{%= item.productName %}"  style="width: 135px !important;height: 135px !important"/>
943                    </a>
944                    <p class="clearfix"></p>
945                </div>
946
947                <p class="priceline ">
948                    {% if (item.price_off > 0) { %} 
949                    <span class="ms-number-money">{%= formatCurrency(item.marketPrice) %} ₫ </span>
950                    {% } %}
951                </p>
952
953                <p class="clearfix"></p>
954
955                <p class="price "> 
956                    <span class="ms-number-money">
957                        {% if (item.price > 0) { %} {%= formatCurrency(item.price) %} đ
958                        {% } else { %} Liên hệ
959                        {% } %}
960                    </span>
961                </p>
962
963                <p class="short-name"><span>{%= item.brand.name %}</span></p>
964                <h3 class="full-name"><a href="{%= item.productUrl %}">{%= item.productName %}</a></h3>
965                <div class="p-offer" style="height: 16px;overflow: hidden"></div>                               
966            </div>
967        </div>
968    `
969
970    var productTpl = `
971        <li class="item">
972            {% if (item.productType.isNew == 1) { %}<i class="new">Mới</i>{% } %}
973
974            {% if (item.marketPrice > item.price && item.price > 0) { %}
975            <div class="price_off">-{%= Math.ceil(item.price_off) %}%</div>
976            {% } %}
977
978            {% if (item.quantity < 1) { %}
979            <span class="status_contact">
980                {% if (item.quantity == 0) { %}  Tạm hết hàng
981                {% } else if (item.quantity == -1) { %} Tạm hết hàng
982                {% } else if (item.quantity == -2) { %} Sắp có hàng
983                {% } else if (item.quantity == -3) { %} Gọi để có giá tốt
984                {% } else if (item.quantity == -4) { %} Vừa có hàng
985                {% } %}
986            </span>
987            {% } %}
988
989            {% if (item.specialOffer.gift) { %}
990            <div class="is_specialOffer">Quà tặng</div>
991            {% } %}
992
993            <div class="p_container">
994                <a href="{%= item.productUrl %}" class="p-img">
995                    <img src="{%= item.productImage.large %}" alt="{%= item.productName %}" width="250" height="250" />
996                </a>
997
998                <a href="{%= item.productUrl %}" class="p-name center">{%= item.productName %}</a>
999
1000                <div class="center" style="clear:both">
1001                    <span class="p-price">
1002                        {% if (item.price > 0) { %} {%= formatCurrency(item.price) %} đ
1003                        {% } else { %} Liên hệ
1004                        {% } %}
1005                    </span>
1006                    
1007                    <span class="p-old-price">
1008                        {% if (item.marketPrice > item.price && item.price > 0) { %} {%= formatCurrency(item.marketPrice) %}đ {% } %}
1009                    </span>
1010                </div>
1011
1012                <div class="p-offer" style="height: 34px;over-flow:  hidden">
1013                    {% if (item.package_accessory != '' && item.package_accessory > 0) { %}            
1014                    <span><span class="icon-accessory">KM</span> {%= item.package_accessory %}</span>
1015                    {% } %}
1016                </div>
1017            </div>
1018        </li>
1019    `;
1020
1021    var provinceTpl = `
1022        <option value="{%= item.id %}"  data-name="{%= item.name %}">{%= item.name %}</option>
1023    `;
1024
1025    var instant_search_result_template = `
1026        <a href="{%=item.url%}">
1027            <img src="{%= item.image %}" />
1028
1029            <span class="info">
1030                <span class="name">{%# decodeHtmlEntities(item.title) %}</span>
1031                <span class="price">{%= item.price > 0 ? 'Giá: ' + formatCurrency(item.price) + ' đ' : 'Liên hệ' %}</span>
1032            </span>
1033        </a>
1034    `;
1035
1036    var commentTpl = `
1037        {% if (item.approved == 1 || item.is_user_admin == 1) { %}
1038        <div class="item_comment item0 approved-1 vm-list-item">
1039            <div class="comment_left"><img src="/static/assets/2024/images/noavatar.jpg" alt="avatar"></div>
1040
1041            <div class="comment_right">
1042                <div class="comment-name">
1043                    <span>
1044                        <span class="js-user-name">{%= item.user_name %}  </span>
1045                        <i class="icons icon-star star{%= item.rate %}"><span></span></i>
1046                    </span>
1047                </div>
1048                
1049                <div>{%= item.content %}</div>
1050
1051                <div class="info_feeback">
1052                    <span style="color:#888;">({%= formatDate(item.post_time) %})</span>
1053                    <div class="right">
1054                        <a href="javascript:;" onclick="$('#reply_comment_{%= item.id %}').toggle()" class="write_reply blue">Trả lời</a>
1055                        &nbsp;&nbsp;
1056                    </div>
1057                </div>
1058
1059                <div id="reply_comment_{%= item.id %}" style="display:none; margin-top:15px;">
1060                    <div class="comment-form">
1061                        <img src="/static/assets/2024/images/noavatar.jpg" alt="avatar" class="img-
1061avatar">
1062
1063                        <form action="/ajax/post_comment.php" method="post" enctype="multipart/form-data" onsubmit="return check_field({%= item.id %})" class="form-reply{%= item.id %}">
1064                            <div class="relative">
1065                                <textarea name="user_post[content]" placeholder="Nội dung bình luận" id="content{%= item.id %}" onfocus="showFormReply('form-input{%= item.id %}')"></textarea>
1066
1067                                {%# checkReply(is_admin_login,customer_info, item.id) %}
1068
1069                                <div class="clear"></div>
1070                                <div class="space10"></div>
1071                            </div>
1072                            <!--relative-->
1073                        </form>
1074                    </div>
1075                </div>
1076                
1077                <div id="reply_list_{%= item.id %}"> {%# getReply(item.new_replies) %} </div>
1078            </div>
1079
1080            <div class="clear"></div>
1081        </div>
1082        {% } %}
1083    `;
1084  
1085</script>
1085
1086
1087
1088
1089
1090<script>
1091    var lazyLoadInstance = new LazyLoad({
1092        elements_selector: ".lazy"
1093    });
1094
1095    var lazy_load_group = [];
1096  
1097    $(function(){
1098        
1099        Hura.UI.loadGroup(lazy_load_group);
1100        
1101        showCartSummary(".js-cart-count");
1102  
1103        _run_search();
1104
1105        _getPathName();
1106
1107        menuHover();
1108
1109        _globalScrollFunctions();
1110  
1111        $(".banner-popup-container").fadeIn();
1112
1113        $('#toTop').click(function(){
1114            $('body,html').animate({scrollTop:0}, 500);            
1115        });
1116
1117    });
1118
1119    $(window).scroll(function(){
1120
1121        _globalScrollFunctions();
1122
1123    });
1124
1125
1126    function _globalScrollFunctions() {
1127        if($(window).scrollTop() > 200) {
1128            $('#toTop').fadeIn();
1129        } else {
1130            $('#toTop').fadeOut();
1131        }
1132
1133        if($(window).scrollTop() > 540) {
1134            $("#nav-hori").addClass("fixed");
1135        } else {
1136            $("#nav-hori").removeClass("fixed");
1137        }
1138
1139        
1140
1141
1142        if(isOnScreen($("#footer")) && $("#footer").hasClass('loaded')===false){
1143            getProductViewHistory(); // Sản phẩm đã xem
1144  
1145            footer_getTopArticleList(); // Tin nổi bật
1146
1147            footer_getNewArticleList(); // Tin mới
1148      
1149            $("#footer").addClass('loaded');
1150        }
1151    }
1152
1153    function menuHover() {
1154        
1155        $("#main-menu").hover(function(){
1156            $("#main-menu .menu").show();
1157            $(".sub-nav").css("min-height",$("#main-menu .menu").height()+8);
1158        },function(){
1159            $("#main-menu .menu").hide();
1160        });
1161        
1162    }
1163
1164    function getProductViewHistory(target) {
1165        var target = "#js-history-holder";
1166
1167        var params = {
1168            action_type: "product-view-history",
1169        };
1170
1171        Hura.Ajax.post("user", params).then(function (data) {
1172            if (data.total > 0) {
1173                var html = Hura.Template.parse(productTpl, data.list);
1174                
1175                Hura.Template.render(target, `<div class="product-list"> <ul class="ul owl-carousel-history"> ${html} </ul></div>`);
1176
1177                $(".owl-carousel-history").owlCarousel({
1178                    items:5,
1179                    navigation:true
1180                });
1181                
1182                $('#js-history-container').show();
1183            }
1184        })
1185    }
1186
1187    function footer_getTopArticleList() {
1188        var url  = '/ajax/get_json.php?action=article&action_type=list&type=article&featured=1&sort=order&show=10';
1189        
1190        Hura.Ajax.getUrl(url).then(function (res) {
1191            var data = res.list.splice(0,3);
1192
1193            var html = Hura.Template.parse(footer_top_article, data);
1194            Hura.Template.render('#js-footer-top-article', html);
1195
1196            $('#js-footer-top-article li:first-child').addClass('news_first')
1197        })
1198    }
1199
1200    function footer_getNewArticleList() {
1201        var url  = '/ajax/get_json.php?action=article&action_type=new&type=article&show=10';
1202        
1203        Hura.Ajax.getUrl(url).then(function (res) {
1204            var data = res.splice(0,6);
1205
1206            var html = Hura.Template.parse(footer_new_article, data);
1207            Hura.Template.render('#js-footer-new-article', html);
1208
1209        })
1210    }
1211
1212</script>
1212
1213
1214
1215
1216    
1216<script>var product_in_cart = [];</script>
1216
1217    
1218
1219
1220<script>
1221    const TOTAL_CART_VALUE_NODE = ".js-total-cart-price";
1222  
1223    $(document).ready(function(){
1224        //hien thi tong don hang
1225        calculateCartTotalPrice();
1226
1227        //thay doi so luong chon mua
1228        listenQuantityChange();
1229
1230        //xoa sp
1231        listenDeleteCartItem();
1232
1233        //thay doi addon
1234        changeAddon('.js-addon-select');
1235
1236        //ap dung coupon/voucher
1237        listenVoucherCode("#js_voucher_input");
1238        
1239        getVoucherList("#js-pop-voucher-holder");
1240
1241        //payment
1242        check_payment_ship()
1243
1244        check_price_to_payment();
1245  
1246        Cart_variant.openVariantOptions();
1247  
1248    });
1249
1250
1251    function check_price_to_payment(){
1252        var total_price = parseInt($('#js-total-before-fee-discount').val());
1253
1254        if (total_price < 500000) {
1255            $('#js-phi_ship').html('30.000');
1256            $("#js-fee-shipping").val(0);
1257            $("#js-fee-cod").val(30000);
1258            totalCartShip()
1259        }
1260    }
1261
1262    function check_payment_ship() {
1263        $('#js-payment-checked').on('change', function(){
1264            var check = $(this).find('input:checked').val();
1265            var total_price = parseInt($('#js-total-before-fee-discount').val());
1266
1267            if (total_price < 500000) {
1268                $('#js-phi_ship').html('30.000');
1269                $("#js-fee-shipping").val(0);
1270                $("#js-fee-cod").val(30000);
1271                totalCartShip()
1272                // if (check == 1) {
1273                //     $('#js-phi_ship').html('30.000');
1274                //     $("#js-fee-shipping").val(0);
1275                //     $("#js-fee-cod").val(30000);
1276                //     totalCartShip()
1277                // } else{
1278                //     $('#js-phi_ship').html('0');
1279                //     $("#js-fee-shipping").val(0);
1280                //     $("#js-fee-cod").val(0);
1281                //     totalCartShip()
1282                // }
1283            }
1284        });
1285    }
1286  
1287    // hiển thị nội dung phương thức thanh toán
1288    function paymentShow(id){
1289        $(".payment_method .detail").slideUp();
1290        $("#"+id).slideDown();
1291    }
1292
1293    function check_field(){
1294        var number_regex1 = /^[0]\d{9}$/i;
1295        var number_regex2 = /^[0]\d{10}$/i;
1296        var error = "";
1297        var check_name = document.getElementById('buyer_name').value;
1298        if(check_name.length < 2) error += "- Bạn chưa nhập tên\n";
1299
1300        var check_email = document.getElementById('buyer_email').value;
1301        if(check_email.length < 4) {
1302            error += "- Bạn chưa nhập email\n";
1303        } 
1304
1305        if(check_email.length > 4){
1306            if(validateEmail(check_email)==false) error += "- Email không hợp lệ\n";
1307        }
1308
1309        var check_add = document.getElementById('buyer_address').value;
1310        if(check_add.length < 10) error += "- Bạn chưa nhập địa chỉ\n";
1311
1312        var check_tel = document.getElementById('buyer_tel').value;
1313        if(check_tel.length < 4) error += "- Bạn chưa nhập SĐT\n";
1314        else{
1315            if(number_regex1.test(check_tel) == false && number_regex2.test(check_tel) == false) error += "- Số điện thoại chưa chính xác\n";
1316        }
1317
1318        var check_province = document.getElementById('ship_to_province').value;
1319        if(check_province==0) error += "- Bạn chưa chọn Tỉnh/Thành phố\n";
1320        else if(check_province.indexOf('
1320<script') > -1) { 
1321            error += "- Tỉnh/Thành phố chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n";
1322        }
1323
1324        var check_district = document.getElementById('js-district-holder').value;
1325        if(check_district==0) error += "- Bạn chưa chọn Quận/Huyện\n";
1326        else if(check_district.indexOf('
1326<script') > -1) { 
1327            error += "- Quận/Huyện chứa các ký tự không hợp lệ, bạn vui lòng kiểm tra lại\n";
1328        }
1329
1330        if(error != "") {
1331            alert(error); return false;
1332        }
1333
1334        $(".js-btn-submit").css({"pointer-events": "none","background" : "#ccc","border-color":"transparent"}).val('Đang xử lý');
1335        return true;
1336    }
1337
1338    // Voucher
1339    function voucher_input_change() {
1340        $('#js_voucher_input').change();
1341    }
1342
1343    function listenVoucherCode(dom_node) {
1344        var cart_total_before_fee_discount = $("#js-total-before-fee-discount").val();
1345        var $message_holder = $("#js-voucher-message");
1346  
1347        var check_deal = 0
1348        $(".js-item-row").each(function(){
1349            var check = $(this).attr("data-check-deal")
1350            if (check == 1) {
1351                check_deal = 1;
1352            }
1353        })
1354        
1355        $(dom_node).change(debounce(function(){
1356            if (check_deal == 1) {
1357                $message_holder.html('<span class="red">Mã voucher không được áp dụng. Vui lòng xóa sản phẩm DEAL trong giỏ hàng</span>');
1358            } else{
1359                var voucher_code = this.value.trim();
1360
1361                //update field to send when submit
1362                $("#js_coupon_code").val(voucher_code);
1363                $("#js-discount-voucher").val(0);
1364                $("#price-discount").html('0');
1365                $message_holder.html('');
1366
1367                //xu ly hien thi
1368                if(voucher_code.length > 2) {
1369                    var params = {
1370                        action_type: 'check', 
1371                        code : voucher_code , 
1372                        order_value : cart_total_before_fee_discount, 
1373                        product_ids : product_in_cart.join(',')
1374                    }
1375
1376                    Hura.Ajax.post('coupon', params).then(function (data) {
1377                        //console.log(data);
1378                        var voucher_info = data;
1379
1380                        if(voucher_info.status == 'error') {
1381                            //bao loi
1382                            $message_holder.html(voucher_info.message);
1383                            return ;
1384                        }
1385
1386                        $message_holder.html(`
1387                            <p style="margin-bottom: 0"> Bạn đang sử dụng mã coupon/voucher: <b style='color: #f00;font-size: 16px'>${voucher_info.coupon_info.code}</b> </p>
1388                            ${(voucher_info.coupon_info.type == 'pro') ? '<p style="color: #2f5acf;margin-bottom: 5px;font-size: 13px;line-height: 1.5;"> Tặng kèm sản phẩm: ' + voucher_info.coupon_info.content + '</p>' : ''}
1389                        `);
1390
1391
1392                        $message_holder.show();
1393              
1394                        //xu ly khac
1395                        switch (voucher_info.coupon_info.type) {
1396                            case "cash": //giam tru tien
1397                                $("#js-discount-voucher").val(Hura.Util.strToNumber(voucher_info.coupon_info.cash_discount));
1398                                $("#price-discount").html(formatCurrency(voucher_info.coupon_info.cash_discount));
1399                                break;
1400
1401                            case "priceoff"://giam gia %
1402  
1403                                $("#js-discount-voucher").val(Hura.Util.strToNumber(voucher_info.total_cash_discount));
1404                                $("#price-discount").html(formatCurrency(voucher_info.total_cash_discount));
1405                                break;
1406
1407                            case "pro":
1408                                //todo:
1409                                
1410                                break;
1411
1412                            case "other":
1413                                //todo:
1414
1415                                break;
1416                        }
1417
1418                        calculateCartTotalPrice();
1419                    })
1420                }else{
1421                    $("#js-discount-voucher").val(0);
1422                    $message_holder.html('');
1423                    //recalculate total
1424                    calculateCartTotalPrice();
1425                }
1426            }
1427        },100));
1428        
1429    }
1430    
1431    function getVoucherList(holder) {
1432        var params = {
1433            action_type: 'get-active-list', 
1434            limit: 50
1435        }
1436
1437        Hura.Ajax.post('coupon', params).then(function (response) {
1438             //console.log(response);
1439            if (response.data != '') {
1440                buildListVoucher(response, holder);
1441
1442                $('.js-voucher-active').click(function(){
1443                    $('.js-voucher-active').removeClass('active')
1444                    $(this).addClass('active');
1445                });
1446            }            
1447        })
1448    }
1449
1450    function buildListVoucher(response, holder) {
1451        var html = '';
1452        var current_time = (new Date()).getTime()/1000;
1453
1454        if (response.total > 0) {
1455            Object.keys(response).forEach(function(key, keyIndex) {
1456                var data = response[key];
1457                Object.keys(data).forEach(function(item, itemIndex) {
1458                    var status          = data[item].can_use_with_cart.status;
1459                    var code            = data[item].code
1460                    var title           = data[item].title;
1461                    var id_coupon       = data[item].id;
1462                    var to_time         = data[item].to_time;
1463                    var time_left       = to_time - current_time;
1464                    var check_product   = data[item].can_use_with_cart.status;
1465                    var quantity        = '';
1466                    var total_remain    = parseInt(data[item].total) - parseInt(data[item].total_use);
1467                    if (data[item].total > 0 && total_remain > 0) {
1468                        quantity        = '<i>(Còn '+ total_remain +')</i>'
1469                    }
1470                    if (time_left > 0 && check_product == 'yes') {
1471                        html+=`<div class="item can-use js-voucher-active" onclick="voucherSelected('`+code+`')">`;
1472                    } else{
1473                        html+='<div class="item">';
1474                    }
1475                    html += `
1476                                <span class="title">`+ code +`</span>`+ quantity +`
1477                                <p class="summary">`+ title +`</p>
1478                                <i class="icon-check"></i>
1479                            </div>
1480                    `;
1481                })
1482            })
1483        } else{
1484            html+= `
1485                <div class="no-voucher text-center">
1486                    <i class="no-voucher-img lazy" style="background-image:url(/static/assets/default/images/cart-ticket.png)"></i>
1487
1488                    <p class="text-20 font-600 m-0"> Chưa có mã voucher nào ! </p>
1489                </div>
1490            `;
1491        }
1492
1493        $(holder).html(html);
1494    }
1495
1496    function voucherSelected(voucher_coder) {
1497        $("#js_voucher_input_pop").val(voucher_coder);
1498        $('#js-voucher-popupmessage').html("");
1499    }
1500
1501    function voucherActive() {
1502        $("#js_voucher_input").val("");
1503        $("#js_voucher_input").change();
1504
1505        var newCode = $("#js_voucher_input_pop").val();
1506        $("#js_voucher_input").val(newCode);
1507        $("#js_voucher_input").change();
1508        close_voucher();
1509    }
1510
1511    function open_voucher() {
1512        $("#js-popup-voucher").show();
1513        $("body").addClass("overflow-hidden");
1514        $(".cart-voucher-popup").addClass("active")
1515    }
1516
1517    function close_voucher() {
1518        $("#js-popup-voucher").hide();
1519        $("body").removeClass("overflow-hidden");
1520        $(".js-voucher-active").removeClass('current-voucher');
1521        $("#js_voucher_input_pop").val("");
1522        $(".cart-voucher-popup").removeClass("active")
1523    }
1524
1525    function voucher_active(code) {
1526        $('#js_voucher_input').val(code).trigger('change');
1527    }
1528
1529    // End Voucher
1530
1531    const Cart_variant = (function(){
1532
1533        // Thay đổi cấu hình
1534        function addNewVariant(product_id, variant_key, variant_name, variant_id, quantity ,holder) {
1535            $('.variant-item-group').hide();
1536      
1537            Hura.Ajax.getUrl('/get_json.php?action=product&action_type=config&ids=' + product_id).then(function (response) {
1538                var data = response[product_id].variant_list;
1539                //console.log(data)
1540                changeNewVariant(data, product_id, variant_key, variant_name, variant_id, quantity, holder);
1541            })
1542        }
1543
1544        function changeNewVariant(data, product_id, variant_key, variant_name, variant_id, quantity, holder) {
1545            // B1: Kiểm tra và lấy Label + Keycode của cấu hình không được chọn
1546            var $row            = $(holder).closest(".js-item-row");
1547            var $other_label    = '';
1548            var $other_key      = '';
1549
1550            $row.find('.js-current-variant-title').each(function(){
1551                var _key   = $(this).attr('data-key');
1552                var _title = $(this).attr('data-title');
1553                //if (variant_key != _key) {
1554                    $other_label = _title;
1555                    $other_key   = _key;
1556                //}
1557            });
1558  
1559            // B2: Với mỗi Label + Keycode của từng cấu hình mới. Nếu trùng với 1 cấu hình trong danh sách cấu hình => Lấy được Id cấu hình mới.
1560            var checkQuantity = 0;
1561            var newVariantId = 0;
1562            data.forEach(function(key, index){
1563                if (key.attribute && 
1564                    key.attribute[variant_key] === variant_name 
1565  					//&& key.attribute[$other_key] === $other_label
1566                ) {
1567                    checkQuantity = key.quantity; 
1568                    newVariantId = key.id
1569                }            
1570            });
1571            // console.log('other_label:' + $other_label, 'other_key:' + $other_key)
1572            // B3: Xóa cấu hình đang hiển thị, thêm cấu hình mới        
1573            removeThenAddNewVariant(product_id, variant_id, newVariantId, quantity);
1574        }
1575
1576        async function removeThenAddNewVariant(product_id, variant_id, newVariantId, quantity){
1577            //console.log(product_id, variant_id, newVariantId, quantity)
1578            try{
1579                await Hura.Cart.Product.remove(product_id, variant_id);
1580                await addNewVariantToCart(product_id, newVariantId, quantity);
1581            } catch (error) {
1582                console.error("Error removing or adding variant:", error);
1583            } 
1584        }
1585
1586        async function addNewVariantToCart(product_id, newVariantId, quantity) {   
1587            //console.log(['product_id: ' + product_id, 'newVariantId: ' + newVariantId, 'quantity: ' + quantity])
1588
1589            try{
1590                await Hura.Cart.Product.add(product_id, newVariantId, {quantity: quantity,buyer_note : ''}).then(function(res){
1591  					//console.log(res)
1592  
1593  					$('#js-loading-screen').addClass('loading-screen');
1594                    $('body').addClass('overflow-hidden');
1595
1596                    setTimeout(function(){
1597                        location.reload();
1598                    },1000);
1599  				})
1600                    
1601            } catch (error) {
1602                console.error("Error removing or adding variant:", error);
1603            }
1604        }
1605        // == Thay đổi cấu hình
1606
1607        function openVariantOptions() {
1608            $('.js-current-variant-title').click(function(){            
1609                
1610                if($(this).parents('.item-variant-list').hasClass('show') === false){
1611                    $('.item-variant-list').removeClass('show')
1612                    $(this).parents('.item-variant-list').addClass('show')
1613                } else {
1614                    $('.item-variant-list').removeClass('show')
1615                }
1616                
1617            })
1618      
1619            $('body').click(function(e){
1620                var targ = $(".item-variant-content");
1621                if (!targ.is(e.target) && targ.has(e.target).length === 0){
1622                    $(".item-variant-list").removeClass('show');
1623                }
1624            });
1625        }
1626
1627        return {
1628            openVariantOptions,
1629            addNewVariant
1630        }
1631
1632    })();
1633</script>
1633
1634
1635<script>
1636    // Thay đổi addOn
1637    function changeAddon(addon_class) {
1638        $(addon_class).on("change", function (e) {
1639            try {
1640  				var addon_id        = this.value;
1641                var $parent_row     = $(this).closest(".js-item-row");
1642                var product_id      = $parent_row.data("item_id");
1643                var variant_id      = $parent_row.data("variant_id");
1644                var quantity        = parseInt(strToNumber($parent_row.find(".js-buy-quantity option:selected").val()));
1645
1646                var addon_ids       = [];
1647
1648                $parent_row.find(".js-addon-select:checked").each(function(){
1649                    var id = this.value
1650                    addon_ids.push(id)
1651                });
1652
1653                if (addon_ids.length === 0) var addon_ids = [0];
1654
1655                Hura.Cart.Product.update(product_id, variant_id, {quantity: quantity, addon: addon_ids }).then(function(response){
1656  					if(response.status === 'error'){                
1657                        console.log(response.message)
1658                    } else {
1659                        location.reload();
1660                    }
1661  				})
1662  
1663  			} catch (error) {
1664  				console.log('Addon Error: ', error)
1665  			}
1666        })
1667    }
1668
1669    // Lấy  quận huyện
1670    function getDistrict(province_id) {
1671
1672        var params = {
1673            action_type: 'district-list',
1674            province: province_id
1675        };
1676
1677        Hura.Ajax.get("province", params).then(function (data) {
1678            
1679            var html = Hura.Template.parse(provinceTpl, data);
1680            Hura.Template.render('#js-district-holder', '<option value="0">Quận/Huyện</option>' + html);
1681        })
1682    }
1683
1684    // Tỉnh tổng đơn hàng + ship
1685    function totalCartShip(){
1686        var ship = $("#js-fee-shipping").val();
1687        var cod  = $("#js-fee-cod").val();
1688        var allprice = $("#js-all-price").val();
1689  		var voucher =  $("#js-discount-voucher").val();
1690        var total = parseInt(allprice) + parseInt(ship) + parseInt(cod) - parseInt(voucher);
1691        $(".js-total-cart-price").html(formatCurrency(total));
1692    }
1693
1694    // lấy phí ship
1695    function checkTotalShippingFee () {
1696        var total_price = parseInt($('#js-total-before-fee-discount').val());
1697
1698        if (total_price < 500000) {
1699            if(province == 0) return ;
1700            
1701            var province = $('select[name="user_info[province]"]').val();
1702            var district = $('select[name="user_info[district]"]').val();
1703        
1704            if (province > 0 && district > 0) {
1705                var params = { 
1706                    action_type : 'cart-hura-shipping-fee', 
1707                    province    : province, 
1708                    district    : district
1709                }
1710
1711                Hura.Ajax.post("shipping", params ).then(function (res){      
1712                    var data = (typeof(res) === 'object') ? res : JSON.parse(res);
1713
1714                    //update
1715                    $("#js-fee-shipping").val(data.shipping_fee);
1716                    $("#js-fee-cod").val(data.cod_fee);
1717                    $("#js-phi_ship").html(formatCurrency(data.cod_fee));
1718                    //recalculate total
1719                    totalCartShip();
1720
1721                })
1722            }
1723        }
1724    }
1725
1726    //thay doi tong gia cua 1 san pham
1727    function changeItemTotalPrice() {
1728        var $row        = $(this).closest(".js-item-row");
1729        var item_type   = $row.data("item_type");
1730        var price       = parseInt(strToNumber($row.find(".js-buy-price").val()));
1731        var quantity    = parseInt(strToNumber($row.find(".js-buy-quantity option:selected").val()));
1732
1733        var total_addon_price = 0;
1734        $row.find(".js-addon-select").each(function () {
1735            if(this.checked) {
1736                total_addon_price += parseInt(this.getAttribute("data-price"));
1737            }
1738        });
1739
1740        var total_price = (price + total_addon_price) * quantity;
1741
1742        //loai bo so luong vo ly
1743        if(quantity < 0) {
1744            $row.find(".js-quantity-change").val(0);
1745            total_price = 0;
1746        }
1747
1748        $row.find(".js-total-item-price").html(formatCurrency(total_price));
1749
1750        calculateCartTotalPrice();
1751
1752        //console.log("updating cart = " + item_type);
1753
1754        //save to cart
1755        switch (item_type) {
1756            case "product":
1757                Hura.Cart.Product.update($row.data("item_id"), $row.data("variant_id"), {quantity: quantity});
1758                break;
1759
1760            case "deal":
1761
1762                Hura.Cart.Deal.update($row.data("item_id"), {quantity: quantity});
1763                break;
1764
1765            case "combo":
1766                Hura.Cart.Combo.update($row.data("item_id"), {quantity: quantity});
1767                break;
1768
1769        }
1770    }
1771
1772    //tinh tong gia don hang
1773    function calculateCartTotalPrice() {
1774        var dom_target2 = ".js-total-cart-price";
1775        var total_cart_price = 0;
1776
1777        $(".js-total-item-price").each(function () {
1778            total_cart_price += strToNumber($(this).html());
1779        });
1780
1781        //log for other reference
1782        $("#js-total-before-fee-discount").val(total_cart_price);
1783        //giam gia khac: voucher, membership, loyalty point conversion
1784        var total_discount  = 0;
1785        total_discount += parseInt($("#js-discount-voucher").val());
1786        total_discount += parseInt($("#js-discount-membership").val());
1787
1788        //phi khac: shipping, COD...
1789        var total_other_fee = 0;
1790        total_other_fee += parseInt($("#js-fee-shipping").val());
1791        total_other_fee += parseInt($("#js-fee-cod").val());
1792        
1793        var total_price = parseInt(total_cart_price - total_discount + total_other_fee);
1794
1795        $('#js-total-price-before-discount').html(formatCurrency(total_cart_price))
1796
1797        $(TOTAL_CART_VALUE_NODE).html(formatCurrency(total_price));
1798
1799        if (total_price >= 3000000) {
1800            $('#js-method-7').show();
1801        } else {
1802            $('#js-method-7').hide();
1803        }
1804
1805    }
1806
1807    //nghe thay doi so luong sp
1808    function listenQuantityChange() {
1809        var $track_change = $(".js-quantity-change");
1810        
1811        //thay doi so luong sp mua, neu nhap so luong
1812        $track_change.on("change", function (e) {
1813
1814            changeItemTotalPrice.call(this);
1815
1816            //voucher_input_change();
1817            location.reload();
1818        });
1819    }
1820  
1821    //nghe xoa san pham
1822    function listenDeleteCartItem() {
1823        $(".js-delete-item").on("click", function () {
1824            var $row        = $(this).closest(".js-item-row");
1825            var item_type   = $row.data("item_type");
1826            var item_id     = $row.data("item_id");            
1827            var deleteStatus;
1828            //save to cart
1829            switch (item_type) {
1830                case "product":
1831                    deleteStatus = Hura.Cart.Product.remove(item_id, $row.data("variant_id"));
1832                    break;
1833
1834                case "deal":
1835
1836                    deleteStatus = Hura.Cart.Deal.remove(item_id);
1837                    break;
1838
1839                case "combo":
1840                    deleteStatus = Hura.Cart.Combo.remove(item_id);
1841                    break;
1842
1843            }
1844
1845            if(deleteStatus) {
1846                deleteStatus.then(function () {
1847                    $row.remove();
1848
1849                    calculateCartTotalPrice();
1850
1851                    voucher_input_change();
1852                    
1853                    if($(".js-item-row").length == 0){
1854                        setTimeout(function(){
1855                            location.reload();
1856                        },500);
1857                    } 
1858                })
1859            }
1860        })
1861    }
1862
1863</script>
1863
1864
1865
1866
1867    <!-- Google Tag Manager -->
1868<script>
vendor: 327 bytes, lines 1868-1872
1868(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
1869new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
1870j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
1871'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
1872})(window,document,'script','dataLayer','
1872GTM-5GNDHPW
vendor: 3 bytes, line 1872
1872');
1872</script>
1872
1873<!-- End Google Tag Manager -->
1874<meta name="google-site-verification" content="1Pg1hmJ6UqI-tDNwf3t1pYHkOymjzv7yX9XjFkTfCzo" />
1875
1876  
1877<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1877-1878
1877
1878<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1878GTM-KZFTWVP
vendor: 83 bytes, lines 1878-1879
1878"
1879height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1880<!-- End Google Tag Manager (noscript) -->
1881    
1882<!-- Facebook Pixel Code --> 
1883<script>
vendor: 425 bytes, lines 1883-1889
1883 
1884    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? 
1885    n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; 
1886    n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; 
1887    t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, 
1888    document,'script','https://connect.facebook.net/en_US/fbevents.js'); 
1889    fbq('init', '
18891115630701877072
vendor: 4 bytes, line 1889
1889'); 
1889// Insert your pixel ID here. 
1890    fbq('track', 'PageView'); 
1891</script>
1891 
1892<noscript><img height="1" width="1" style="display:none"  src="https://www.facebook.com/tr?id=1115630701877072&ev=PageView&noscript=1" /></noscript> <!-- DO NOT MODIFY --> 
1893<!-- End Facebook Pixel Code --> 
1894    
1895<!-- Google Tag Manager [email protected] -->
1896<script>
vendor: 327 bytes, lines 1896-1900
1896(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
1897new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
1898j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
1899'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
1900})(window,document,'script','dataLayer','
1900GTM-P9S7W46
vendor: 3 bytes, line 1900
1900');
1900</script>
1900
1901<!-- End Google Tag Manager -->
1902    
1903<!-- Google Tag Manager [email protected] (noscript) -->
vendor: 68 bytes, lines 1903-1904
1903
1904<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1904GTM-P9S7W46
vendor: 83 bytes, lines 1904-1905
1904"
1905height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1906<!-- End Google Tag Manager (noscript) -->
1907
1908
1909<script type="text/javascript"> 
1910    /* <![CDATA[ */ 
1911    var google_conversion_id = 865031147; 
1912    var google_custom_params = window.google_tag_params; 
1913    var google_remarketing_only = true; 
1914    /* ]]> */ 
1915</script>
1915 
1916<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"> </script>
1916 
1917<noscript> 
1918    <div style="display:inline;"> 
1919        <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/865031147/?guid=ON&script=0"/> 
1920    </div> 
1921</noscript>
1922
1923
1924<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 1924-1925
1924
1925<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
1925GTM-5GNDHPW
vendor: 86 bytes, lines 1925-1927
1925"
1926height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
1927  
1928<!-- End Google Tag Manager (noscript) -->
1929  
1930 <!--  
1931<div class="zalo-chat-widget" data-oaid="688120756259237573" data-welcome-message="Rất vui khi được hỗ trợ bạn!" data-autopopup="0" data-width="350" data-height="420"></div>
1932<script src="https://sp.zalo.me/plugins/sdk.js"></script>
1932
1933-->
1934<div id="fb-root"></div>
1935    
1935<script async defer crossorigin="anonymous"
1936            src="https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v19.0">
1937    </script>
1937
1938
1939    
1939<script defer src="https://use.fontawesome.com/releases/v5.2.0/js/all.js" integrity="sha384-4oV5EgaV02iISL2ban6c/RmotsABqE4yZxZLcYMAdG7FAPsyHYAPpywE9PJo+Khy" crossorigin="anonymous"></script>
1939
1940
1941</body>
1942</html>
1943
1944<!-- Load time: 0.05853 seconds  / 2 mb-->
1945<!-- Powered by Hura8 Cloud - 2.6.2, Released: 10-Nov-2023 / Website: www.hurasoft.vn -->
1946        

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.