แคตตาล็อก Dalatmilk 2025

ผลิตภัณฑ์ Dalatmilk — จัดส่งในดานัง 0–2 ชั่วโมง

ผลิตภัณฑ์ของเราจัดเก็บที่ 2–6°C และจัดส่งให้ที่บ้าน คาเฟ่ ร้านอาหาร และโรงแรมอย่างรวดเร็ว

จัดส่ง 0–2 ชั่วโมง รองรับสั่งซื้อจำนวนมาก มีใบกำกับภาษี เก็บในตู้เย็น

ราคาที่แสดงเป็นเพียงข้อมูลอ้างอิง สำหรับธุรกิจโปรดติดต่อเพื่อขอใบเสนอราคา

ราคาและสต็อก

เลือกขนาดและรสชาติสำหรับบ้านหรือธุรกิจ ทุกผลิตภัณฑ์จัดส่งโดยตรงจาก Dalatmilk

9 รายการ

หวาน 180mlขายดี

หวาน 180ml

ขวด 180ml · แพ็ค 4

หวานกำลังดี เหมาะสำหรับครอบครัว

ราคา
11.500 ₫
หวาน 450mlแนะนำสำหรับ F&B

หวาน 450ml

ขวด 450ml · กล่อง 12

เหมาะสำหรับเมนูซิกเนเจอร์ของคาเฟ่

ราคา
23.800 ₫
สตรอเบอร์รี่ 180ml

สตรอเบอร์รี่ 180ml

ขวด 180ml

รสสตรอเบอร์รี่ธรรมชาติ เหมาะสำหรับเด็ก

ราคา
11.500 ₫
น้อยหวาน 180ml

น้อยหวาน 180ml

ขวด 180ml

น้ำตาลน้อย เหมาะสำหรับผู้ที่ใส่ใจสุขภาพ

ราคา
11.500 ₫
น้อยหวาน 450ml

น้อยหวาน 450ml

ขวด 450ml · กล่อง 12

เหมาะสำหรับคาเฟ่และโรงแรม

ราคา
23.800 ₫
ธรรมชาติ 180ml

ธรรมชาติ 180ml

ขวด 180ml

รสชาตินุ่มนวล ใช้ได้ทั้งทำอาหารและดื่ม

ราคา
11.500 ₫
ธรรมชาติ 450ml

ธรรมชาติ 450ml

ขวด 450ml · กล่อง 12

มาตรฐานสำหรับสูตรต่าง ๆ

ราคา
23.800 ₫
ธรรมชาติ 950ml

ธรรมชาติ 950ml

ขวด 950ml

ขนาดประหยัดสำหรับครัวและโรงแรม

ราคา
47.000 ₫
ช็อกโกแลต 180ml

ช็อกโกแลต 180ml

ขวด 180ml

รสช็อกโกแลต เหมาะสำหรับของหวาน

ราคา
11.500 ₫

เปรียบเทียบขนาดและรสชาติ

สำหรับครอบครัว

  • 180ml — พกพาสะดวก
  • มีหลากหลายรสชาติ

สำหรับคาเฟ่

  • 450ml — มาตรฐานสูตร

การสั่งจำนวนมาก

  • 950ml — ประหยัด

โซลูชัน B2B

เราจัดส่งให้มากกว่า 120 คาเฟ่และโรงแรม

จองคำปรึกษาฟรี

การจัดส่ง · การชำระเงิน · การเก็บรักษา

การจัดส่ง

ภายในดานัง 0–2 ชั่วโมง ฟรีเมื่อสั่งถึงจำนวนขั้นต่ำ

การชำระเงิน

Momo, Zalo Pay, โอนธนาคาร, เงินสด

การเก็บรักษา

เก็บที่ 2–6°C อายุการเก็บรักษาขั้นต่ำ 20 วัน

คำถามที่พบบ่อย

การจัดส่งใช้เวลานานเท่าไร?

ขึ้นอยู่กับพื้นที่ แต่ในดานังโดยทั่วไป 0–2 ชั่วโมง

บริการ B2B มีอะไรบ้าง?

การจัดส่งประจำ, ส่วนลดตามปริมาณ, การออกใบกำกับภาษี

ติดต่อเรา

ต้องการความช่วยเหลือในการเลือกสินค้าหรือใบเสนอราคาสำหรับธุรกิจ? ติดต่อเราได้เลย

โทร Zalo
สินค้า — Dalat Milk Shop
แคตตาล็อก Dalatmilk 2025

ผลิตภัณฑ์ Dalatmilk — จัดส่งในดานัง 0–2 ชั่วโมง

ผลิตภัณฑ์ของเราจัดเก็บที่ 2–6°C และจัดส่งให้ที่บ้าน คาเฟ่ ร้านอาหาร และโรงแรมอย่างรวดเร็ว

จัดส่ง 0–2 ชั่วโมง รองรับสั่งซื้อจำนวนมาก มีใบกำกับภาษี เก็บในตู้เย็น

ราคาที่แสดงเป็นเพียงข้อมูลอ้างอิง สำหรับธุรกิจโปรดติดต่อเพื่อขอใบเสนอราคา

ราคาและสต็อก

เลือกขนาดและรสชาติสำหรับบ้านหรือธุรกิจ ทุกผลิตภัณฑ์จัดส่งโดยตรงจาก Dalatmilk

9 รายการ

หวาน 180mlขายดี

หวาน 180ml

ขวด 180ml · แพ็ค 4

หวานกำลังดี เหมาะสำหรับครอบครัว

ราคา
11.500 ₫
หวาน 450mlแนะนำสำหรับ F&B

หวาน 450ml

ขวด 450ml · กล่อง 12

เหมาะสำหรับเมนูซิกเนเจอร์ของคาเฟ่

ราคา
23.800 ₫
สตรอเบอร์รี่ 180ml

สตรอเบอร์รี่ 180ml

ขวด 180ml

รสสตรอเบอร์รี่ธรรมชาติ เหมาะสำหรับเด็ก

ราคา
11.500 ₫
น้อยหวาน 180ml

น้อยหวาน 180ml

ขวด 180ml

น้ำตาลน้อย เหมาะสำหรับผู้ที่ใส่ใจสุขภาพ

ราคา
11.500 ₫
น้อยหวาน 450ml

น้อยหวาน 450ml

ขวด 450ml · กล่อง 12

เหมาะสำหรับคาเฟ่และโรงแรม

ราคา
23.800 ₫
ธรรมชาติ 180ml สินค้า — Dalat Milk Shop
แคตตาล็อก Dalatmilk 2025

ผลิตภัณฑ์ Dalatmilk — จัดส่งในดานัง 0–2 ชั่วโมง

ผลิตภัณฑ์ของเราจัดเก็บที่ 2–6°C และจัดส่งให้ที่บ้าน คาเฟ่ ร้านอาหาร และโรงแรมอย่างรวดเร็ว

จัดส่ง 0–2 ชั่วโมง รองรับสั่งซื้อจำนวนมาก มีใบกำกับภาษี เก็บในตู้เย็น

ราคาที่แสดงเป็นเพียงข้อมูลอ้างอิง สำหรับธุรกิจโปรดติดต่อเพื่อขอใบเสนอราคา

ราคาและสต็อก

เลือกขนาดและรสชาติสำหรับบ้านหรือธุรกิจ ทุกผลิตภัณฑ์จัดส่งโดยตรงจาก Dalatmilk

9 รายการ

หวาน 180mlขายดี

หวาน 180ml

ขวด 180ml · แพ็ค 4

หวานกำลังดี เหมาะสำหรับครอบครัว

ราคา
11.500 ₫
หวาน 450mlแนะนำสำหรับ F&B

หวาน 450ml

ขวด 450ml · กล่อง 12

เหมาะสำหรับเมนูซิกเนเจอร์ของคาเฟ่

ราคา
23.800 ₫
สตรอเบอร์รี่ 180ml

สตรอเบอร์รี่ 180ml

ขวด 180ml

รสสตรอเบอร์รี่ธรรมชาติ เหมาะสำหรับเด็ก

ราคา
11.500 ₫
น้อยหวาน 180ml

น้อยหวาน 180ml

ขวด 180ml

น้ำตาลน้อย เหมาะสำหรับผู้ที่ใส่ใจสุขภาพ

ราคา
11.500 ₫
น้อยหวาน 450ml

น้อยหวาน 450ml

ขวด 450ml · กล่อง 12

เหมาะสำหรับคาเฟ่และโรงแรม

ราคา
23.800 ₫
ธรรมชาติ 180ml { if (!productCards.length) { updateFilterCount(0); return; } let visible = 0; productCards.forEach(card => { const tags = (card.dataset.tags || '').split(',').map(t => t.trim()).filter(Boolean); const show = filterValue === 'all' || tags.includes(filterValue); if (show) { card.classList.remove('is-hidden'); card.removeAttribute('hidden'); visible++; } else { card.classList.add('is-hidden'); card.setAttribute('hidden', 'hidden'); } }); updateFilterCount(visible); }; filterButtons.forEach(btn => btn.addEventListener('click', e => { e.preventDefault(); const filter = btn.dataset.filter; if (!filter || btn.classList.contains('is-active')) return; filterButtons.forEach(c => { c.classList.remove('is-active'); c.setAttribute('aria-pressed', 'false'); }); btn.classList.add('is-active'); btn.setAttribute('aria-pressed', 'true'); applyFilter(filter); })); if (productCards.length) applyFilter('all'); else updateFilterCount(0); // Sticky utility bar const stickyUtilityBar = document.querySelector('.sticky-utility-bar'); let lastScrollY = window.scrollY; let ticking = false; const updateSticky = () => { if (!stickyUtilityBar) { ticking = false; return; } const y = window.scrollY; const delta = y - lastScrollY; const down = delta > 0; const up = delta < 0; const beyond = y > 160; const nearBottom = window.innerHeight + y >= document.body.offsetHeight - 160; const nearTop = y <= 160; if (down && beyond && !nearBottom) stickyUtilityBar.classList.add('is-hidden'); else if (up || nearTop || nearBottom) stickyUtilityBar.classList.remove('is-hidden'); lastScrollY = y; ticking = false; }; const onScroll = () => { if (!ticking) { ticking = true; requestAnimationFrame(updateSticky); } }; if (stickyUtilityBar) window.addEventListener('scroll', onScroll, { passive: true }); // Carousel const carousel = document.querySelector('[data-carousel]'); const track = carousel?.querySelector('[data-carousel-track]'); const items = track ? Array.from(track.children) : []; const dots = carousel ? Array.from(carousel.querySelectorAll('[data-carousel-dot]')) : []; let idx = 0; const updateCarousel = (newIdx) => { if (!track || !items.length) return; const total = items.length; idx = (newIdx + total) % total; items.forEach((it,i)=>{ if (i===idx) { it.removeAttribute('hidden'); it.setAttribute('aria-hidden','false'); } else { it.setAttribute('hidden','hidden'); it.setAttribute('aria-hidden','true'); } }); dots.forEach((d,i)=>{ d.classList.toggle('is-active', i===idx); d.setAttribute('aria-selected', i===idx ? 'true' : 'false'); }); track.style.transform = `translateX(-${idx*100}%)`; }; carousel?.querySelectorAll('[data-carousel-dot]').forEach(d=>d.addEventListener('click',e=>{ e.preventDefault(); updateCarousel(Number(d.dataset.carouselDot||0)); })); carousel?.querySelector('[data-carousel-prev]')?.addEventListener('click', e=>{ e.preventDefault(); updateCarousel(idx-1); }); carousel?.querySelector('[data-carousel-next]')?.addEventListener('click', e=>{ e.preventDefault(); updateCarousel(idx+1); }); if (items.length) updateCarousel(0); // Quick-order modal const modal = document.getElementById('quick-order-modal'); const modalTriggers = document.querySelectorAll('[data-open-modal]'); const closeers = modal ? modal.querySelectorAll('[data-modal-close]') : []; let lastFocus = null; const openModal = () => { if (!modal) return; lastFocus = document.activeElement; modal.classList.add('is-open'); modal.removeAttribute('aria-hidden'); document.body.classList.add('modal-open'); const f = modal.querySelector('input,select,textarea,button:not([data-modal-close])'); f?.focus(); }; const closeModal = () => { if (!modal) return; modal.classList.remove('is-open'); modal.setAttribute('aria-hidden','true'); document.body.classList.remove('modal-open'); lastFocus?.focus?.(); }; modalTriggers.forEach(t=>t.addEventListener('click', e=>{ e.preventDefault(); openModal(); })); closeers.forEach(c=>c.addEventListener('click', e=>{ e.preventDefault(); closeModal(); })); modal?.addEventListener('click', e => { if (e.target === modal) closeModal(); }); document.addEventListener('keydown', e => { if (e.key==='Escape' && modal?.classList.contains('is-open')) closeModal(); }); document.getElementById('quick-order-form')?.addEventListener('submit', e => { e.preventDefault(); const fd = new FormData(e.target); const name = fd.get('name')?.toString().trim() || 'ลูกค้า Dalatmilk'; const phone = fd.get('phone')?.toString().trim() || ''; const business = fd.get('businessType')?.toString().trim() || ''; const note = fd.get('note')?.toString().trim() || ''; const contact = fd.get('contactPreference')?.toString().trim() || ''; const lines = ['สวัสดี,', `ลูกค้า: ${name}`, phone ? `โทร: ${phone}` : null, business ? `ประเภท: ${business}` : null, note ? `หมายเหตุ: ${note}` : null].filter(Boolean); const mailto = `mailto:dalatmilkshop.com@gmail.com?subject=${encodeURIComponent('Dalatmilk สอบถาม')}&body=${encodeURIComponent(lines.join('\n'))}`; window.open(mailto, '_blank'); if (contact === 'zalo') window.open('https://zalo.me/0982733777','_blank'); document.getElementById('quick-order-feedback')?.removeAttribute('hidden'); e.target.reset(); }); // Cart const cartModal = document.getElementById('cart-modal'); const cartToggleButtons = document.querySelectorAll('[data-cart-toggle]'); const cartCount = document.querySelector('[data-cart-count]'); const cartList = document.querySelector('[data-cart-items]'); const cartEmpty = document.querySelector('[data-cart-empty]'); const cartTotal = document.querySelector('[data-cart-total]'); const cartCheckout = document.querySelector('[data-cart-checkout]'); const addCartButtons = document.querySelectorAll('[data-add-cart]'); const CART_KEY = 'dalatmilk_cart_v1'; let cart = []; const fmt = v => `${v.toLocaleString('vi-VN')} ₫`; const saveCart = () => localStorage.setItem(CART_KEY, JSON.stringify(cart)); const loadCart = () => { try { const raw = localStorage.getItem(CART_KEY); cart = raw ? JSON.parse(raw) : []; } catch(e){ cart=[]; } }; const updateCartSummary = () => { const itemCount = cart.reduce((s,i)=>s+i.quantity,0); const total = cart.reduce((s,i)=>s+i.quantity*i.price,0); cartCount && (cartCount.textContent = String(itemCount)); cartTotal && (cartTotal.textContent = fmt(total)); cartCheckout && (cartCheckout.disabled = cart.length===0); }; const renderCart = () => { if (!cartList) return; cartList.innerHTML = ''; if (!cart.length) { cartEmpty && (cartEmpty.hidden = false); cartList.appendChild(cartEmpty); return; } cartEmpty?.remove(); cart.forEach(item => { const node = document.createElement('div'); node.className = 'cart-item'; node.dataset.sku = item.sku; node.innerHTML = `

${item.name}

SKU ${item.sku}

`; const dec = node.querySelector('[data-cart-decrease]'); const inc = node.querySelector('[data-cart-increase]'); const inp = node.querySelector('input'); const rem = node.querySelector('[data-cart-remove]'); dec?.addEventListener('click', ()=> updateQuantity(item.sku, item.quantity-1)); inc?.addEventListener('click', ()=> updateQuantity(item.sku, item.quantity+1)); inp?.addEventListener('change', e=> updateQuantity(item.sku, parseInt(e.target.value,10)||1)); rem?.addEventListener('click', ()=> removeItem(item.sku)); cartList.appendChild(node); }); }; const addItem = ({sku,name,price}) => { const ex = cart.find(i=>i.sku===sku); if (ex) ex.quantity++; else cart.push({sku,name,price,quantity:1}); saveCart(); updateCartSummary(); renderCart(); toggleCartModal(true); }; const updateQuantity = (sku, qty) => { const it = cart.find(i=>i.sku===sku); if (!it) return; it.quantity = Math.max(1, qty); saveCart(); updateCartSummary(); renderCart(); }; const removeItem = sku => { cart = cart.filter(i=>i.sku!==sku); saveCart(); updateCartSummary(); renderCart(); }; addCartButtons.forEach(b=>b.addEventListener('click', ()=>{ const sku=b.dataset.sku; const name=b.dataset.name; const price=Number(b.dataset.price||0); if (!sku||!name) return; addItem({sku,name,price}); })); const toggleCartModal = (force) => { if (!cartModal) return; const open = typeof force === 'boolean' ? force : !cartModal.classList.contains('is-open'); cartModal.classList.toggle('is-open', open); cartModal.setAttribute('aria-hidden', open? 'false' : 'true'); document.body.classList.toggle('modal-open', Boolean(document.querySelector('.quick-order-modal.is-open') || cartModal.classList.contains('is-open'))); cartToggleButtons.forEach(btn=>btn.setAttribute('aria-expanded', open? 'true':'false')); if (open) (cartModal.querySelector('.cart-modal-close') || cartModal).focus(); }; cartToggleButtons.forEach(b=>b.addEventListener('click', ()=> toggleCartModal())); cartModal?.addEventListener('click', e=> { if (e.target === cartModal) toggleCartModal(false); }); cartModal?.addEventListener('keydown', e=> { if (e.key==='Escape') toggleCartModal(false); }); cartCheckout?.addEventListener('click', ()=> { if (!cart.length) return; const summary = cart.map(i=>`${i.name} x ${i.quantity}${i.sku?` (SKU ${i.sku})`:''}`).join('\n'); const googleFormBase = 'https://docs.google.com/forms/d/e/1FAIpQLScBpWcjgYBW1hfMd4zP-406U0ZGwfXX6Uy9YgMaobVFcvZvZw/viewform'; const params = new URLSearchParams({ usp:'pp_url', 'entry.1000027': summary }); window.open(`${googleFormBase}?${params.toString()}`,'_blank'); }); loadCart(); updateCartSummary(); renderCart(); });