Theme block Shopify và thẻ block, partial mới của Liquid
Kiến trúc theme Shopify đã đi theo một hướng suốt một thời gian: các mảnh nhỏ hơn, tái sử dụng được, để merchant tự sắp xếp trong theme editor mà không cần gọi developer. Theme block là chặng hiện tại của hành trình đó. Vào tháng 7 năm 2026, Shopify còn đưa ra cho người làm theme một bản developer preview đi xa hơn một bước. Bài viết này tách bạch những gì bạn có thể dựa vào ngay hôm nay với những gì vẫn còn thử nghiệm.
Theme block: phần đã ổn định
Trước đây, block thuộc về một section. Một block định nghĩa bên trong section slideshow chỉ dùng được trong slideshow đó. Theme block thay đổi điều này. Chúng là các file Liquid nằm trong thư mục blocks ở gốc theme, mỗi file có markup và schema riêng. Vì thuộc về theme chứ không thuộc một section đơn lẻ, cùng một block có thể xuất hiện trong nhiều section, và block có thể lồng bên trong block khác.
Một vài quy tắc thực tế từ tài liệu của Shopify:
- Một block cần có ít nhất một preset thì mới hiện trong bộ chọn block của editor.
- Một section hoặc tự định nghĩa block của riêng nó, hoặc chấp nhận theme block. Không thể làm cả hai.
- Để chấp nhận theme block, section hiển thị chúng bằng thẻ content_for và khai báo mục theme dạng wildcard trong schema.
- Targeting cho phép giới hạn block nào được thêm vào đâu, giúp merchant không dựng ra những bố cục bị vỡ.
- Block có thể đọc object block của chính nó, section cha và các object toàn cục, nhưng không nhận biến theo cách một snippet nhận.
Trang trợ giúp dành cho merchant của Shopify bổ sung một số con số hữu ích khi lên kế hoạch thiết kế: tối đa 25 section và 1.250 block cho mỗi template, và độ lồng có thể lên tới tám cấp. Số block trên mỗi section do người thiết kế theme quyết định.
Thiết kế block để luôn dễ dùng
Hướng dẫn best practice về theme của Shopify cảnh báo không nên chia nhỏ quá mức. Tách mọi thuộc tính nhỏ thành một block riêng làm tăng lượng code và khiến thanh bên của editor khó đọc hơn. Các chi tiết liên quan, như tên tác giả, ngày đăng và số bình luận, thường nên gộp thành một block hoặc đưa vào settings. Hướng dẫn này cũng gợi ý gom các phần tử có thứ bậc, chẳng hạn một block duy nhất điều khiển các dòng sản phẩm trong giỏ hàng.
Với cửa hàng nhỏ, điều này quy về một phép thử đơn giản. Nếu merchant sẽ không bao giờ muốn tự di chuyển, ẩn hoặc lặp lại một phần tử, thì nhiều khả năng nó không nên là một block.
Bản developer preview tháng 7/2026
Ngày 21 tháng 7 năm 2026, changelog của Shopify công bố bản developer preview Liquid July ’26. Bản này giới thiệu hai thẻ:
- Thẻ block hiển thị một theme block tái sử dụng được trực tiếp từ template. Bạn đặt tên block, truyền đầu vào và cung cấp nội dung phần thân, theo cách khá giống thẻ render quen thuộc.
- Thẻ partial định nghĩa một vùng HTML có tên, được render phía server, mà JavaScript có thể làm mới mà không cần tải lại cả trang.
Ý tưởng là cấu trúc của một trang có thể nằm trong một template Liquid duy nhất thay vì bị rải ra giữa template JSON, các file section và snippet. Shopify mô tả cách này dễ đọc và dễ chỉnh sửa hơn, cả với developer lẫn các coding agent. Đi kèm, Theme Check 3.28.0 bổ sung các rule cho những theme thiên về Liquid này, cảnh báo những vấn đề như lỗi cú pháp, độ phức tạp quá mức, file quá lớn, schema không hợp lệ và sự không khớp giữa tham số của block với phần khai báo trong tài liệu.
Để thử, bạn cần một development store đã bật bản preview. Shopify chỉ tới một release candidate của theme skeleton làm điểm khởi đầu, hoặc bạn có thể thêm các thẻ này vào theme của chính mình.
Chưa nên làm gì
Có ba lưu ý.
- Đây là bản preview. Hành vi có thể thay đổi, và changelog không nêu ngày phát hành chính thức. Đừng dựng lại một cửa hàng đang chạy xung quanh nó.
- Không có gì bị loại bỏ. Shopify nói các theme hiện có với section, theme settings và template JSON vẫn tiếp tục hoạt động; mô hình mới được thêm vào song song.
- Các diễn giải chỉ là quan điểm. Một bài bình luận của agency On Tap Group cho rằng trang một file sẽ giúp theme được xây nhanh hơn và bảo trì rẻ hơn, và thẻ partial giống kiểu partial hydration trong các framework như Astro. Đó là quan điểm của tác giả, không phải phát biểu của Shopify, dù là một cách hợp lý để nghĩ về hướng đi này.
Lộ trình thực tế cho chủ cửa hàng và developer
Nếu bạn là chủ cửa hàng, điều rút ra khá khiêm tốn. Hãy chọn theme xây dựng trên theme block, vì chúng cho bạn nhiều tự do hơn trong editor và ít phải yêu cầu phát triển tùy chỉnh hơn. Hãy hỏi developer của bạn xem theme bạn đang mua hoặc đặt làm có dùng thư mục blocks không, như trang trợ giúp của Shopify khuyên nên kiểm tra.
Nếu bạn làm theme, hãy dành một buổi chiều trên development store đã bật bản preview. Chuyển một trang nhỏ, như trang giới thiệu hoặc landing page, rồi so sánh với cách làm tương đương bằng JSON và section. Hãy giữ các theme production trên kiến trúc ổn định cho đến khi các thẻ này được phát hành chính thức.
Nếu bạn muốn có một điểm khởi đầu dựng sẵn, hãy xem các theme của chúng tôi; nếu một cửa hàng cụ thể cần section hoặc block tùy chỉnh, hãy xem dịch vụ của chúng tôi.