2. Liquid là gì?
• Ngôn ngữ lập trình giao diện được phát triển bởi Shopify
• Mã nguồn mở, phát triển từ năm 2006
• Sử dụng để frontend có thể truy cập và lấy dữ liệu từ
backend một cách an toàn và dễ dàng.
5. Ưu điểm của Liquid
• Cấu trúc đơn giản, dễ nhớ, dễ sử dụng, thân thiện với Designer
• Bảo mật code trên server của bạn
• Kết hợp dễ dàng với cấu trúc HTML có sẵn.
• Người dùng có thể tự tùy biến giao diện hiển thị mà không cần
quan tâm đến backend.
• Tương đồng với Smarty, Twig
6. Liquid cơ bản
• Các toán tử (Operators)
• Kiểu dữ liệu (Types)
• Thẻ (Tags)
• Đối tượng (Objects)
• Bộ lọc (Filters)
7. Các toán tử
Liquid hỗ trợ các toán tử logic, so sánh và toán tử bao hàm.
== bằng
!= không bằng
> lớn hơn
< nhỏ hơn
>= lớn hơn hoặc bằng
<= nhỏ hơn hoặc bằng
or điều kiện A hoặc điều kiện B
and điều kiện A và điều kiện B
contains kiểm tra xem có sự xuất hiện của một chuỗi
8. {% if product.name == "Giày Converse" %}
Đây là đôi giày Converse
{% endif %}
{% if product.name contains 'Converse' %}
Đây là một sản phẩm của Converse
{% endif %}
9. Kiểu dữ liệu
Liquid hỗ trợ các kiểu dữ liệu cơ bản như:
• Chuỗi
• Số
• Boolean
• Mảng
Và ‘nil/null’ một giá trị rỗng được trả về khi thực thi một đoạn mã Liquid
mà không thể cho ra kết quả
10. Thẻ
Liquid sử dụng các thẻ logic để thông báo cho hệ thống cần trả về dữ
liệu là gì, các thẻ được bao bởi {% và %}
Thẻ điều khiển
luồng
Thẻ lặp Thẻ giao diện
Thẻ liên quan đến
biến
if for comment assign
elseif / else cycle include capture
case/when form increment
unless layout decrement
paginate
raw
12. Đối tượng
Các đối tượng trong Liquid bao gồm các thuộc tính để xuất ra nội dung
động tương ứng, khi gọi các thuộc tính theo đối tượng tương ứng, sử
dụng {{ và }} để bao ngoài (ví dụ: {{ product.name }} ).
Các đối tượng tiêu biểu:
• collection
• product
• cart
• blog
• article
• page
• customer
• …
14. Bộ lọc
• Bộ lọc dùng để sửa đổi kết quả được xuất ra của một số, chuỗi, biến
hoặc đối tượng.
• Chúng được đặt trong {{ }}, có thể dùng nhiều bộ lọc cùng lúc, khi đó
chúng được phân cách bởi |
16. Các loại bộ lọc
• Bộ lọc mảng:
join, first, last, index, map, size, sort
• Bộ lọc HTML
img_tag, script_tag, stylesheet_tag
• Bộ lọc toán học
ceil, divided_by, floor, minus,…
• Bộ lọc tiền tệ
money, money_with_currency, money_without_currency,…
• Bộ lọc chuỗi
append, camelcase, capitalize, downcase,…
• Bộ lọc ULR
asset_url, img_url, link_to_tag,…
• Các bộ lọc khác
date, hightlight,…
17. Cấu trúc giao diện Bizweb
• assets: bao gồm các file thư viện sẽ được sử dụng cho giao diện
như ảnh, file css, và các file js
• configs: gồm 2 tập tin settings_schema.json và settings_data.json
• layouts: bao gồm các file khung giao diện, mặc định sẽ có
theme.bwt
• snippets: gồm các đoạn mã ngắn (snippet) mà giao diện có thể
dùng lại nhiều lần khi cần
• templates: bao gồm các template của giao diện
18. Cấu trúc giao diện của Bizweb
Layouts (File giao diện chính)
• theme.bwt (header, navigation and
footer)
Templates (file giao diện trang chức năng)
• index.bwt (trang chủ)
• product.bwt (trang sản phẩm)
• blog.bwt (trang blog)
• page.bwt (trang nội dung)
• …
Snippets (Những mẩu code để tái sử dụng trong
theme)
Assets (images, stylesheets, javascript)
Configs (file cấu hình cho theme)
Locales (chứa file ngôn ngữ của theme)
19. Hệ thống giao diện Bizweb
• Khung giao diện (layout)
• Các template cơ bản
• Thiết lập giao diện
20. Khung giao diện là gì?
• Khung giao diện là một thành phần rất quan trọng của giao diện.
• Các thành phần của website sẽ hiển thị thông qua khung giao diện đang
được kích hoạt.
• Chỉ có một khung giao diện được sử dụng mỗi khi hiển thị trang web.
21. theme.bwt
• Khung giao diện chính, mặc định cho mỗi giao
diện.
• Các template sẽ được hiển thị thông qua
khung giao diện này.
• Các thành phần xuất hiện lặp đi lặp lại ở tất
cả các trang nên được đặt trong theme.bwt.
Ví dụ: logo, menu đầu trang, phần chân trang
22. Template
• Hệ thống giao diện Bizweb được tạo nên bởi
các file template Liquid.
• Mỗi file template có cách sử dụng khác nhau
tùy vào nội dung nó được quy định để hiển
thị.
• Các file template:
• index.bwt
• collection.bwt
• product.bwt
• blog.bwt
• …
23. index.bwt
Hiển thị nội dung trang chủ của website.
Nội dung có thể gồm:
• Giới thiệu website
• Một danh sách sản phẩm
• Sản phẩm tiêu biểu
• …
24. collection.bwt
Hiển thị nội dung trang danh mục sản phẩm
của website.
Nội dung có thể gồm:
• Mô tả về danh mục sản phẩm
• Danh sách các sản phẩm trong danh
mục
• Một danh sách sản phẩm tiêu biểu
• …
25. product.bwt
Hiển thị nội dung chi tiết của sản phẩm trên
website.
Nội dung có thể gồm:
• Tên sản phẩm
• Ảnh sản phẩm
• Mô tả chi tiết của sản phẩm
• …
26. page.bwt
Hiển thị nội dung của một trang.
Nội dung có thể gồm:
• Tiêu đề trang
• Nội dung của trang
• Banner quảng cáo
• …
28. Thiết lập giao diện
• Người phát triển giao diện có thể dễ dàng thêm vào các tuỳ chọn để
người sử dụng có thể tuỳ biến các thành phần của giao diện mà
không cần biết hay tìm hiểu về Liquid.
• Khả năng tuỳ biến đem lại sự tiện lợi cho người dùng, cũng như tạo
nên điểm nổi trội của giao diện.
• Thông qua thiết lập giao diện, người sử dụng giao diện có thể:
• Kích hoạt ẩn/hiện một khu vực, đối tượng trên giao diện như
banner, slideshow, hiển thị danh sách sản phẩm,…
• Thay đổi nội dung của một đối tượng như thay đổi ảnh banner,
thay đổi danh mục sản phẩm sẽ hiển thị tại một khu vực,…
35. Giao diện trang chủ cơ bản
Phần đầu trang:
• logo
• menu điều hướng
Phần nội dung chính:
• đoạn văn bản ngắn giới thiệu
• một danh sách các sản phẩm tiêu biểu
Phần chân trang:
• Menu điều hướng phụ