Để áp dụng thẻ (tag) điều kiện đòi hỏi bạn phải có kiến thức chút ít về HTML, bạn chú ý là cơ bản nó bắt đầu bằng tag với thuộc tính “ cond “ và kết thúc là một tag đóng. Trong giữa những tag này, các nội dung (html ,style, script, widgets…) sẽ chỉ xuất hiện hoặc thực hiện theo những điều kiện xác định.
Ví dụ như trong đoạn code sau:
<b:if cond='your condition'>
<style>...css code...</style>
<script>...javascript code...</script>
</b:if>
Phần 1. Các thẻ điều kiện
1. Trang chủ (Homepage)
<b:if cond='data:view.isHomepage'>Theo version trước:
<!-- Nội dung chỉ hiển thị trên trang chủ -->
</b:if>
<b:if cond='data:blog.url == data:blog.homepageUrl'>2. Trang bài viết (item)
<!-- Nội dung chỉ hiển thị trên trang chủ -->
</b:if>
<b:if cond='data:view.isPost'>Theo version trước:
<!-- Nội dung chỉ hiển thị trên trang bài viết -->
</b:if>
<b:if cond='data:blog.pageType == "item"'>Cho một trang bài viết cụ thể:
<!-- Nội dung chỉ hiển thị trên trang bài viết -->
</b:if>
<b:if cond='data:blog.url == data:blog.homepageUrl path "2019/03/postn.html"'>3. Trang tĩnh (Static page)
<!-- Nội dung chỉ hiển thị trên trang bài viết có địa chỉ url Blog-cua-ban/2019/03/postn.html-->
</b:if>
<b:if cond='data:view.isPage'>Theo version trước:
<!-- Nội dung chỉ hiển thị trên trang tĩnh static page -->
</b:if>
<b:if cond='data:blog.pageType == "static_page"'>Cho một trang tĩnh cụ thể:
<!-- Nội dung chỉ hiển thị trên trang tĩnh static page -->
</b:if>
<b:if cond='data:blog.url == data:blog.homepageUrl path "p/static.html"'>4. Trang index bao gồm trang chủ, trang hiển thị nhãn Label, và trang archive.
<!-- Nội dung chỉ hiển thị trên trang bài viết có địa chỉ url Blog-cua-ban/p/static.html 'foo' -->
</b:if>
<b:if cond='data:view.isMultipleItems'>Theo version trước:
<!-- Nội dung chỉ hiển thị trên các trang index: trang chủ, trang hiển thị nhãn, trang lưu trữ -->
</b:if>
<b:if cond='data:blog.pageType == "index"'>5. Trang label search
<!-- Nội dung chỉ hiển thị trên các trang index: trang chủ, trang hiển thị nhãn, trang lưu trữ -->
</b:if>
<b:if cond='data:view.isLabelSearch'>Theo version trước:
<!-- Nội dung hiển thị trên tất cả các trang nhãn label -->
</b:if>
.................
<b:if cond='data:view.isLabelSearch == "blogger"'>
<!-- Nội dung chỉ hiển thị trên nhãn "blogger"-->
</b:if>
<b:if cond='data:blog.searchLabel'>6. Hiển thị nội dung cho kết quả tìm kiếm (ví dụ: /search?q=blogger)
<!-- Nội dung hiển thị trên tất cả các trang nhãn label -->
</b:if>
.................
<b:if cond='data:blog.searchLabel == "blogger"'>
<!-- Nội dung chỉ hiển thị trên nhãn "blogger"-->
</b:if>
<!-- Bao gồm trang tìm kiếm nhãn -->Theo version trước:
<b:if cond='data:view.isSearch'> … </b:if>
<!-- Chỉ các trang tìm kiếm -->
<b:if cond='data:view.isSearch and !data:view.isLabelSearch'> … </b:if>
<b:if cond='data:blog.searchQuery'>7. Trang lỗi 404
<!-- Nội dung hiển thị trên tất cả các trang tìm kiếm --></b:if>
...................................
<b:if cond='data:blog.searchQuery == "blogger"'>
<!-- Nội dung chỉ hiển thị trên trang tìm kiếm với từ "blogger"-->
</b:if>
<b:if cond='data:view.isError'>Theo version trước:
<!-- Nội dung chỉ hiển thị trên trang lỗi -->
</b:if>
<b:if cond='data:blog.pageType == "error_page"'>8. Trang lưu trữ (archive)
<!-- Nội dung chỉ hiển thị trên trang lỗi -->
</b:if>
<b:if cond='data:view.isArchive'>Theo version trước:
<!-- Nội dung chỉ hiển thị trên tất cả các trang lưu trữ archive-->
</b:if>
<b:if cond='data:blog.pageType == "archive"'>9. Trang hiển thị trên mobile
<!-- Nội dung chỉ hiển thị trên tất cả các trang lưu trữ archive-->
</b:if>
<b:if cond="data:blog.isMobile">
<!-- Nội dung chỉ hiển thị trên trang mobile-->
</b:if>
10. Nội dung hiển thị cho những trang có nhiều bài viết trên cùng một trang, áp dụng này cho bài viết đầu tiên FirstPost (chỉ áp dụng cho Blog Gatget v1)
<b:if cond='data:post.isFirstPost'>11. Nội dung hiển thị cho trang tĩnh Static Page và bài viết Item
<!-- Nội dung cần trình bày -->
</b:if>
<b:if cond='data:view.isSingleItem'>Theo version trước:
<!-- Nội dung chỉ hiển thị với trang tĩnh và bài viết -->
</b:if>
<b:if cond='data:blog.url == data:post.url'>12. Hiển thị nội dung nếu bài viết có ảnh thumbnail
<!-- Nội dung chỉ hiển thị với trang tĩnh và bài viết -->
</b:if>
<b:if cond='data:post.thumbnailUrl'>13. Hiển thị một nội dung khi có Backlink
<!-- Nội dung chỉ hiển thị với bài viết có ảnh thumbnail -->
</b:if>
<b:if cond='data:post.showBacklinks'>14. Hiển thị nội dung cho Tác giả bài viết
<!-- Nội dung chỉ hiển thị khi có backlink -->
</b:if>
<b:if cond='data:displayname == "author-name"'>15. Hiển thị nội dung trên trang có số comments bằng một giá trị nào đó
<!-- Nội dung cần trình bày -->
</b:if>
<b:if cond='data:post.numComments == number'>16. Hiển thị nội dung trong tất cả các trang khi chức năng comment được kích hoạt
<!-- Nội dung cần trình bày -->
</b:if>
<b:if cond='data:post.allowComments'>17. Hiển thị nội dung ở trang Preview (xem trước)
<!-- Nội dung cần trình bày -->
</b:if>
<b:if cond='data:view.isPreview'> … </b:if>18. Điều kiện đối với nhãn (Label) cuối cùng
<b:loop values='data:post.labels' var='label'>Phần 2. Cách sử dụng và kết hợp các thẻ điều kiện
<b:if cond='data:label.isLast != "true"'> <!-- Nếu ko phải nhãn cuối thì thêm ký tự đặc biệt vào phía sau -->
,
</b:if>
</b:loop>
1. Áp dụng điều kiện xuất hiện hoặc không xuất hiện
== Có nghĩa là chỉ xuất hiện trên trang này …..
!= Có nghĩa là xuất hiện trên tất cả các trang trừ trang này ra……
2. Dùng thêm thẻ <b:/else/>
Nếu muốn đưa vào một nội dung thay thế khi điều kiện đưa vào là sai, bạn cần thêm một thẻ <b:else> và cho nội dung vào giữa.
<b:if cond='data:view.isPost'>3. Kết hợp của nhiều điều kiện (xuất hiện khi thỏa mãn các điều kiện)
Nội dung chỉ hiển thị trang bài viết Item
<b:else/>
Nội dung hiển thị các trang còn lại
</b:if>
<b:if cond='!data:blog.pageType == "item"'>Với đoạn code này thì có ý nghĩa xuất ở trang chủ thì .post-body có chữ màu yellow, nếu là trang nhãn sẽ có màu là blue, còn nếu là các trang khác sẽ có màu red.
<b:if cond='data:view.isHomepage'>
<style type='text/css'>.post-body {color: yellow;}</style>
<b:else/>
<b:if cond='data:view.isLabelSearch'>
<style type='text/css'>.post-body {color: blue;}</style>
<b:else/> <style type='text/css'>.post-body {color: red;}</style>
</b:if>
</b:if>
</b:if>
4. Sử dụng điều kiện IN
<b:if cond='data:blog.pageType in {"static_page","item"}'>5. Sử dụng điều kiện NOT IN
Nội dung chỉ hiển thị Trang Tĩnh và trang Bài Viết
</b:if>
<b:if cond='data:blog.pageType not in {"static_page","item"}'>6. Sử dụng điều kiện AND
Nội dung không hiển thị Trang Tĩnh và trang Bài Viết
</b:if>
<b:if cond='data:view.isPage and data:view.isPost'>
Nội dung hiển thị Trang Tĩnh và Trang Bài Viết
</b:if>
7. Sử dụng điều kiện OR
<b:if cond='data:view.isPage or data:view.isPost'>8. Sử dụng điều kiện Else if
Nội dung hiển thị hoặc Trang Tĩnh hoặc Trang Bài Viết
</b:if>
<b:if cond='data:blog.pageType == "item"'>Đoạn code trên tương đương với
<data:post.body/>
<b:elseif cond='data:blog.pageType == "static_page"'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
<b:if cond='data:blog.pageType == "item"'>Phần 3. Lưu ý
<data:post.body/>
<b:else/>
<b:if cond='data:blog.pageType == "static_page"'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
</b:if>
Khi bạn chỉnh sửa code cho template của bạn, đôi khi dấu ngoặc kép (“) sẽ bị thay thế bằng ký tự quot;. Ví dụ như:
<b:if cond='data:blog.pageType == "static_page"'>Sử dụng điều kiện trong thẻ b:include hoàn toàn tương tự với thẻ b:if, bạn chỉ cần thêm vào thuộc tính cond='ĐIỀU KIỆN' của thẻ b:if vào thẻ b:include là xong.
sẽ được thay là
<b:if cond='data:blog.pageType == quot;static_pagequot;'>
Nguồn: thichnet.com