ݺߣ

ݺߣShare a Scribd company logo
Thiết kế giao 徱ện với Liquid
Bizweb - 20/12/2015
Liquid là gì?
• Ngôn ngữ lập trình giao 徱ện
• 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.
Thiết kế giao 徱ện với Liquid
Ưu điểm của Liquid
• Cấu trúc đơn giản, dễ nhớ, dễ sử dụng.
• 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 徱ện hiển thị mà không cần liên
quan đến backend.
Các hệ thống đang sử dụng
Liquid cho nhà phát triển giao 徱ện
Liquid cơ bản
• Các toán tử
• Kiểu dữ liệu
• Thẻ
• Đối tượng
• Bộ lọc
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
{% 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 %}
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’ 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ả
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 徱ện
Thẻ liên quan đến
biến
if for comment assign
elsif / else cycle include capture
case/when form increment
unless layout decrement
paginate
raw
<!-- Nếu customer.name = 'guest' -->
{% if customer.name == 'Gyo' %}
Chào bạn Gyo!
{% elsif customer.name == 'guest' %}
Xin chào quý khách!
{% else %}
Chào bạn!
{% endif %}
Đố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
• …
Đối tượng product
• product.available
• product.collections
• product.description
• product.featured_image
• product.alias
• product.id
• product.tags
• product.name
• product.type
• product.url
• product.vendor
• ...
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 |
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,…
Cấu trúc giao 徱ện Bizweb
• assets: bao gồm các file thư viện sẽ được sử dụng cho giao 徱ệ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 徱ện, mặc định sẽ có
theme.bwt
• snippets: gồm các đoạn mã ngắn (snippet) mà giao 徱ện có thể
dùng lại nhiều lần khi cần
• templates: bao gồm các template của giao 徱ện
Hệ thống giao 徱ện Bizweb
• Khung giao 徱ện (layout)
• Các template cơ bản
• Thiết lập giao 徱ện
Khung giao 徱ện là gì?
• Khung giao 徱ện là một thành phần rất quan trọng của giao 徱ện.
• Các thành phần của website sẽ hiển thị thông qua khung giao 徱ện đang
được kích hoạt.
• Chỉ có một khung giao 徱ện được sử dụng mỗi khi hiển thị trang web.
theme.bwt
• Khung giao 徱ện chính, mặc định cho mỗi giao
徱ện.
• Các template sẽ được hiển thị thông qua
khung giao 徱ệ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
Template
• Hệ thống giao 徱ệ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
• …
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
• …
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
• …
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
• …
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
• …
Thiết lập giao 徱ện
Thiết lập giao 徱ện
• Người phát triển giao 徱ệ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 徱ệ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 徱ện.
• Thông qua thiết lập giao 徱ện, người sử dụng giao 徱ện có thể:
• Kích hoạt ẩn/hiện một khu vực, đối tượng trên giao 徱ệ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,…
End.
Thiết kế giao 徱ện với Liquid
Thiết kế giao 徱ện với Liquid
Thiết kế giao 徱ện với Liquid
Thiết kế giao 徱ện với Liquid
Tạo trang index cơ bản với Bizweb
Giao 徱ệ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ụ
theme.bwt
Phần đầu trang:
• logo
• menu điều hướng
Phần chân trang:
• Menu điều hướng phụ
<!doctype html>
<html>
<head>
<meta charset="utf-8">
{{ content_for_header }}
</head>
<body>
{{ content_for_layout }}
</body>
</html>
<head>
<meta charset=“utf-8">
<title>{{ page_title }} - {{ store.name }}</title>
{{ content_for_header }}
{{ "normalize.css" | asset_url | stylesheet_tag }}
{{ "style.css" | asset_url | stylesheet_tag }}
{{ "common.js" | bizweb_asset_url | script_tag }}
{{ "customer.js" | bizweb_asset_url | script_tag }}
{{ '//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.js' | script_tag }}
</head>
<head>
<body>
<div class="container">
<div class="content">
{{ content_for_layout }}
</div>
</div>
</body>
<body>
<body>
<div class="container">
<h1 class="logo"><a href="/">{{ store.name }}</a></h1>
<div class="content">
{{ content_for_layout }}
</div>
</div>
</body>
<body>
<div class="container">
<h1 class="logo"><a href="/">{{ store.name }}</a></h1>
<nav class="main-menu">
<ul>
{% for link in linklists.main-menu.links %}
<li {% if link.active %}class="current"{% endif %}>
<a href=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ link.url }}">{{ link.title }}</a>
</li>
{% endfor %}
</ul>
</nav>
<div class="content">
{{ content_for_layout }}
</div>
</div>
Header menu
…
<div class="content">
{{ content_for_layout }}
</div>
<footer>
<ul>
{% for link in linklists.footer.links %}
<li><a href=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ link.url }}">{{ link.title }}</a></li>
{% endfor %}
</ul>
</footer>
…
Footer menu
Thiết kế giao 徱ện với Liquid
index.bwt
• Đoạn văn bản ngắn giới thiệu
• Danh sách các sản phẩm
Hiển thị nội dung có sẵn từ trang nội dung
Lấy dữ liệu từ trang “Giới thiệu”
Thiết kế giao 徱ện với Liquid
<div class="rte index-page">
<h2>{{ pages.gioi-thieu.title }}</h2>
{{ pages.gioi-thieu.content }}
</div>
Thiết kế giao 徱ện với Liquid
Hiển thị danh sách sản phẩm
Sử dụng snippet
• Ảnh sản phẩm
• Tên sản phẩm
• Giá bán
Thiết kế giao 徱ện với Liquid
<div class="product left {% cycle '','','','last' %}">
<div class="product-thumb">
<a href=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ product.url }}">
<img src=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ product.featured_image.src | img_url: 'medium' }}" alt=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{
product.featured_image.alt }}" />
</a>
</div>
<div class="product-title">
<a href=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ product.url }}">
{{ product.name }}
</a>
</div>
<div class="product-price">
{% if product.price_varies %}Giá từ{% endif %}
{{ product.price | money }}
</div>
</div>
<div class="clearfix">
<h2>Sản phẩm mới</h2>
<div class="collection-desc rte">
{{ collections.trang-chu.description }}
</div>
{% for product in collections.trang-chu.products %}
{% include 'product-loop' %}
{% endfor %}
</div>
Thiết kế giao 徱ện với Liquid
<div class="clearfix">
<h2>Sản phẩm mới</h2>
<div class="collection-desc rte">
{{ collections.trang-chu.description }}
</div>
{% for product in collections.trang-chu.products limit:8 %}
{% include 'product-loop' %}
{% endfor %}
</div>
Thiết kế giao 徱ện với Liquid

More Related Content

What's hot (20)

DOCX
Hệ thống thông tin quản lý-website tin tức nhà đất
Kali Back Tracker
PDF
Bài 5: Chuẩn hóa cơ sở dữ liệu
MasterCode.vn
PDF
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
MasterCode.vn
PDF
CSS Dasar #8 : Pseudo-class
Sandhika Galih
PDF
Bài giảng HTML5-CSS3
Lương Bá Hợp
PPTX
Chuong 6
Ảo Ảo
PPT
UML mô hình khái niệm
Nguyễn Phúc
PDF
Lựa chọn thuộc tính và Khai phá luật kết hợp trên WEKA
Ho Quang Thanh
PDF
Lập trình web - HTML cơ bản
Nhóc Nhóc
DOC
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Dịch Vụ Viết Thuê Luận Văn Zalo : 0932.091.562
PDF
Bài 6: Kiến thức cơ sở về điều khiển truy cập - Giáo trình FPT
MasterCode.vn
DOC
Các giao thức sử dụng trong các lớp của mô hình osi
UDCNTT
PPT
Cơ sở dữ liệu đại học
Chu TheKop
DOCX
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
Hoà Đoàn
PDF
Phân tích thiết kế hệ thống thông tin PTIT
NguynMinh294
PPT
13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...
leethinh
PDF
P3 listes et elements graphiques avancés
Lilia Sfaxi
DOCX
Báo cáo đồ án môn công nghệ phần mềm
RiTa15
PDF
Kỹ thuật đối sánh hình dạng sử dụng đặc trưng dựa trên đường bao
Dịch vụ viết bài trọn gói ZALO: 0909232620
PPT
Bài giảng cơ sở dữ liệu
trieulongweb
Hệ thống thông tin quản lý-website tin tức nhà đất
Kali Back Tracker
Bài 5: Chuẩn hóa cơ sở dữ liệu
MasterCode.vn
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
MasterCode.vn
CSS Dasar #8 : Pseudo-class
Sandhika Galih
Bài giảng HTML5-CSS3
Lương Bá Hợp
Chuong 6
Ảo Ảo
UML mô hình khái niệm
Nguyễn Phúc
Lựa chọn thuộc tính và Khai phá luật kết hợp trên WEKA
Ho Quang Thanh
Lập trình web - HTML cơ bản
Nhóc Nhóc
Báo Cáo Bài Tập Lớn Môn Lập Trình Web Xây Dựng Website Tin Tức
Dịch Vụ Viết Thuê Luận Văn Zalo : 0932.091.562
Bài 6: Kiến thức cơ sở về điều khiển truy cập - Giáo trình FPT
MasterCode.vn
Các giao thức sử dụng trong các lớp của mô hình osi
UDCNTT
Cơ sở dữ liệu đại học
Chu TheKop
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
Hoà Đoàn
Phân tích thiết kế hệ thống thông tin PTIT
NguynMinh294
13690151 slide-phan-tich-thiet-ke-he-thong-huong-doi-tuong-dai-hoc-bach-khoa-...
leethinh
P3 listes et elements graphiques avancés
Lilia Sfaxi
Báo cáo đồ án môn công nghệ phần mềm
RiTa15
Kỹ thuật đối sánh hình dạng sử dụng đặc trưng dựa trên đường bao
Dịch vụ viết bài trọn gói ZALO: 0909232620
Bài giảng cơ sở dữ liệu
trieulongweb

Similar to Thiết kế giao 徱ện với Liquid (20)

PPTX
Bizweb theme workshop
Quý Nguyễn Minh
PPTX
Các tính năng của eSoff
gidaffchannel
PPTX
1.Mang may tinh-CDBKSG_HTML_01-21.3 (1).pptx
giangtranthanh2
PDF
Tài liệu HTML5-CSS3
Lương Bá Hợp
PDF
ݺߣ 6 - Thiết kế Web cơ bản
Sống Khác
PDF
Web1012 slide 1
Nhẫn Tâm Đại Ca
PDF
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
MasterCode.vn
PDF
ݺߣ 5 - Thiết kế Web cơ bản
Sống Khác
PDF
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
MasterCode.vn
PDF
Web1012 slide 1
Cà Rốt
PDF
TKW03 - CSS Part 1 study about css in html.pdf
nguyenhoangphong019
PDF
BÀI 5 Tối ưu hóa thiết kế web và cách làm việc cơ bản trong chế độ hiển thị C...
MasterCode.vn
PDF
ݺߣ 8 - Thiết kế Web cơ bản
Sống Khác
PPTX
Chủ đề 9 wordpress - vũ mạnh cường
Vũ Mạnh Cường
PDF
HTML02-NgonNguHTML slide ve html cua khoa
tranhoangphong020820
PDF
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
MasterCode.vn
PDF
Html coban
Cá Cơm
PPTX
Thutap
nguyenthetiep
PDF
Joomla developermanual
Khổng Xuân Trung
Bizweb theme workshop
Quý Nguyễn Minh
Các tính năng của eSoff
gidaffchannel
1.Mang may tinh-CDBKSG_HTML_01-21.3 (1).pptx
giangtranthanh2
Tài liệu HTML5-CSS3
Lương Bá Hợp
ݺߣ 6 - Thiết kế Web cơ bản
Sống Khác
Web1012 slide 1
Nhẫn Tâm Đại Ca
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
MasterCode.vn
ݺߣ 5 - Thiết kế Web cơ bản
Sống Khác
Bài 5 Bố cục trang cơ bản - Giáo trình FPT
MasterCode.vn
Web1012 slide 1
Cà Rốt
TKW03 - CSS Part 1 study about css in html.pdf
nguyenhoangphong019
BÀI 5 Tối ưu hóa thiết kế web và cách làm việc cơ bản trong chế độ hiển thị C...
MasterCode.vn
ݺߣ 8 - Thiết kế Web cơ bản
Sống Khác
Chủ đề 9 wordpress - vũ mạnh cường
Vũ Mạnh Cường
HTML02-NgonNguHTML slide ve html cua khoa
tranhoangphong020820
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
MasterCode.vn
Html coban
Cá Cơm
Joomla developermanual
Khổng Xuân Trung
Ad

Recently uploaded (7)

PDF
Bài giảng môn Kinh Tế Số dành cho các sinh viên Đại học
kaikidkudo
DOCX
SITRANS Probe LU240 – Giải pháp đo mức siêu âm chính xác, bền bỉ từ Siemens
Khoa Tran Dang
DOCX
Triển Khai Thành Công Flowmeter Siemens MAG 5100W Tại Nhà Máy Nước Sạch Việt Nam
Khoa Tran Dang
PPT
CÔNG CỤ , KĨ THUẬT VÀ CÔNG TRÌNH-CHUONG 2.ppt
nguyenquangdieu1405
PPTX
BÀI 1 PHẦN CỨNG PM CỦA EM TIẾT 2 2.pptx
TnHnhL
PDF
Ebook Giáo trình Make.com: Từ Căn Bản Tới Nâng Cao tập 1
SlimCRM - Phần Mềm Quản Trị Doanh Nghiệp Vừa Và Nhỏ
PDF
day la tai lieu ve bo mon ly thuyet dknc
datledale2708
Bài giảng môn Kinh Tế Số dành cho các sinh viên Đại học
kaikidkudo
SITRANS Probe LU240 – Giải pháp đo mức siêu âm chính xác, bền bỉ từ Siemens
Khoa Tran Dang
Triển Khai Thành Công Flowmeter Siemens MAG 5100W Tại Nhà Máy Nước Sạch Việt Nam
Khoa Tran Dang
CÔNG CỤ , KĨ THUẬT VÀ CÔNG TRÌNH-CHUONG 2.ppt
nguyenquangdieu1405
BÀI 1 PHẦN CỨNG PM CỦA EM TIẾT 2 2.pptx
TnHnhL
Ebook Giáo trình Make.com: Từ Căn Bản Tới Nâng Cao tập 1
SlimCRM - Phần Mềm Quản Trị Doanh Nghiệp Vừa Và Nhỏ
day la tai lieu ve bo mon ly thuyet dknc
datledale2708
Ad

Thiết kế giao 徱ện với Liquid

  • 1. Thiết kế giao 徱ện với Liquid Bizweb - 20/12/2015
  • 2. Liquid là gì? • Ngôn ngữ lập trình giao 徱ện • 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.
  • 4. Ưu điểm của Liquid • Cấu trúc đơn giản, dễ nhớ, dễ sử dụng. • 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 徱ện hiển thị mà không cần liên quan đến backend.
  • 5. Các hệ thống đang sử dụng
  • 6. Liquid cho nhà phát triển giao 徱ện
  • 7. Liquid cơ bản • Các toán tử • Kiểu dữ liệu • Thẻ • Đối tượng • Bộ lọc
  • 8. 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
  • 9. {% 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 %}
  • 10. 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’ 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ả
  • 11. 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 徱ện Thẻ liên quan đến biến if for comment assign elsif / else cycle include capture case/when form increment unless layout decrement paginate raw
  • 12. <!-- Nếu customer.name = 'guest' --> {% if customer.name == 'Gyo' %} Chào bạn Gyo! {% elsif customer.name == 'guest' %} Xin chào quý khách! {% else %} Chào bạn! {% endif %}
  • 13. Đố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. Đối tượng product • product.available • product.collections • product.description • product.featured_image • product.alias • product.id • product.tags • product.name • product.type • product.url • product.vendor • ...
  • 15. 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 徱ện Bizweb • assets: bao gồm các file thư viện sẽ được sử dụng cho giao 徱ệ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 徱ện, mặc định sẽ có theme.bwt • snippets: gồm các đoạn mã ngắn (snippet) mà giao 徱ện có thể dùng lại nhiều lần khi cần • templates: bao gồm các template của giao 徱ện
  • 18. Hệ thống giao 徱ện Bizweb • Khung giao 徱ện (layout) • Các template cơ bản • Thiết lập giao 徱ện
  • 19. Khung giao 徱ện là gì? • Khung giao 徱ện là một thành phần rất quan trọng của giao 徱ện. • Các thành phần của website sẽ hiển thị thông qua khung giao 徱ện đang được kích hoạt. • Chỉ có một khung giao 徱ện được sử dụng mỗi khi hiển thị trang web.
  • 20. theme.bwt • Khung giao 徱ện chính, mặc định cho mỗi giao 徱ện. • Các template sẽ được hiển thị thông qua khung giao 徱ệ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
  • 21. Template • Hệ thống giao 徱ệ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 • …
  • 22. 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 • …
  • 23. 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 • …
  • 24. 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 • …
  • 25. 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 • …
  • 27. Thiết lập giao 徱ện • Người phát triển giao 徱ệ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 徱ệ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 徱ện. • Thông qua thiết lập giao 徱ện, người sử dụng giao 徱ện có thể: • Kích hoạt ẩn/hiện một khu vực, đối tượng trên giao 徱ệ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,…
  • 28. End.
  • 33. Tạo trang index cơ bản với Bizweb
  • 34. Giao 徱ệ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ụ
  • 35. theme.bwt Phần đầu trang: • logo • menu điều hướng Phần chân trang: • Menu điều hướng phụ
  • 36. <!doctype html> <html> <head> <meta charset="utf-8"> {{ content_for_header }} </head> <body> {{ content_for_layout }} </body> </html>
  • 37. <head> <meta charset=“utf-8"> <title>{{ page_title }} - {{ store.name }}</title> {{ content_for_header }} {{ "normalize.css" | asset_url | stylesheet_tag }} {{ "style.css" | asset_url | stylesheet_tag }} {{ "common.js" | bizweb_asset_url | script_tag }} {{ "customer.js" | bizweb_asset_url | script_tag }} {{ '//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.js' | script_tag }} </head> <head>
  • 38. <body> <div class="container"> <div class="content"> {{ content_for_layout }} </div> </div> </body> <body>
  • 39. <body> <div class="container"> <h1 class="logo"><a href="/">{{ store.name }}</a></h1> <div class="content"> {{ content_for_layout }} </div> </div> </body> <body>
  • 40. <div class="container"> <h1 class="logo"><a href="/">{{ store.name }}</a></h1> <nav class="main-menu"> <ul> {% for link in linklists.main-menu.links %} <li {% if link.active %}class="current"{% endif %}> <a href=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ link.url }}">{{ link.title }}</a> </li> {% endfor %} </ul> </nav> <div class="content"> {{ content_for_layout }} </div> </div> Header menu
  • 41. … <div class="content"> {{ content_for_layout }} </div> <footer> <ul> {% for link in linklists.footer.links %} <li><a href=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ link.url }}">{{ link.title }}</a></li> {% endfor %} </ul> </footer> … Footer menu
  • 43. index.bwt • Đoạn văn bản ngắn giới thiệu • Danh sách các sản phẩm
  • 44. Hiển thị nội dung có sẵn từ trang nội dung Lấy dữ liệu từ trang “Giới thiệu”
  • 46. <div class="rte index-page"> <h2>{{ pages.gioi-thieu.title }}</h2> {{ pages.gioi-thieu.content }} </div>
  • 48. Hiển thị danh sách sản phẩm
  • 49. Sử dụng snippet • Ảnh sản phẩm • Tên sản phẩm • Giá bán
  • 51. <div class="product left {% cycle '','','','last' %}"> <div class="product-thumb"> <a href=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ product.url }}"> <img src=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ product.featured_image.src | img_url: 'medium' }}" alt=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ product.featured_image.alt }}" /> </a> </div> <div class="product-title"> <a href=/nhtera888xxx/thit-k-giao-din-vi-liquid/"{{ product.url }}"> {{ product.name }} </a> </div> <div class="product-price"> {% if product.price_varies %}Giá từ{% endif %} {{ product.price | money }} </div> </div>
  • 52. <div class="clearfix"> <h2>Sản phẩm mới</h2> <div class="collection-desc rte"> {{ collections.trang-chu.description }} </div> {% for product in collections.trang-chu.products %} {% include 'product-loop' %} {% endfor %} </div>
  • 54. <div class="clearfix"> <h2>Sản phẩm mới</h2> <div class="collection-desc rte"> {{ collections.trang-chu.description }} </div> {% for product in collections.trang-chu.products limit:8 %} {% include 'product-loop' %} {% endfor %} </div>