Các thẻ if blogspot


[tintuc]

Cách sử dụng:

Các thẻ này dùng để thiết kế, tối ưu blogspot

<b:if cond='data:blog.pageType != "data:blog.isMobile"'>
// Đoạn code
</b:if>

1. Thẻ điều kiện cho trang chủ, trang search label, trang archive:

<b:if cond='data:blog.pageType == "index"'>

2. Thẻ điều kiện cho bài viết.

<b:if cond='data:blog.pageType == "item"'>

3. Thẻ điều kiện cho trang tĩnh(http://pdusoft/p/contact.html ):

<b:if cond='data:blog.pageType == &quot;static_page&quot;'>

4. Thẻ điều kiện cho trang lưu trữ:

<b:if cond='data:blog.pageType == "archive"'>

5. Thẻ điều kiện cho trang chủ:

<b:if cond='data:blog.url == data:blog.homepageUrl'>

6. Thẻ điều kiện cho URL nhất định:

<b:if cond='data:blog.url == "URL nhất định"'>

7. Thẻ điều kiện cho Page và Post:

<b:if cond='data:blog.url == data:post.url'>

8. Thẻ điều kiện cho tất cả Label(/search/label/Windows ):

<b:if cond='data:blog.searchLabel'>

9. Thẻ điều kiện cho Label nhất định

<b:if cond='data:blog.searchLabel == &quot;Tên nhãn&quot;'>

10. Hiển thị nội dung cho bài viết đầu tiên tại trang chủ

<b:if cond='data:post.isFirstPost'>

11. Thẻ điều kiện cho mobile:

<b:if cond='data:blog.pageType == "data:blog.isMobile"'>

12. Thẻ điều kiện cho trang báo lỗi 404

<b:if cond='data:blog.pageType == "error_page"'>

13. Thẻ điều kiện cho trang tìm kiếm

<b:if cond='data:blog.searchQuery'>


Các loại điều kiện


Ví dụ:


Điều kiện đúng:

<b:if cond='data:blog.pageType == "index"'>

Điều phủ định:

<b:if cond='data:blog.pageType != "index"'>
Một số thẻ khác
1. Thẻ điều kiện khi bài viết có nhãn nào đó
<b:if cond='data:post.labels any (l => l.name == "TÊN NHÃN")'>
2. Thẻ điều kiện IN
<b:if cond='data:blog.pageType in {"static_page","item"}'>

Nội dung chỉ hiển thị Trang Tĩnh và trang Bài Viết

</b:if>
3. Thẻ điều kiện NOT IN
<b:if cond='data:blog.pageType not in {"static_page","item"}'> 

Nội dung không hiển thị Trang Tĩnh và trang Bài Viết

</b:if>
4. Thẻ điều kiện AND
<b:if cond='data:blog.pageType == "static_page" and data:blog.pageType == "item"'> 

Nội dung hiển thị Trang Tĩnh và Trang Bài Viết

</b:if>
4. Thẻ điều kiện OR
<b:if cond='data:blog.pageType == "static_page" or data:blog.pageType == "item"'> 

Nội dung hiển thị hoặc Trang Tĩnh hoặc Trang Bài Viết

</b:if>
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'>
<!-- Nội dung chỉ hiển thị trên trang chủ -->
</b:if>
Theo version trước:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<!-- Nội dung chỉ hiển thị trên trang chủ -->
</b:if>

2. Trang bài viết (item)

<b:if cond='data:view.isPost'> 
<!-- Nội dung chỉ hiển thị trên trang bài viết -->
</b:if>
Theo version trước:
<b:if cond='data:blog.pageType == "item"'> 
<!-- Nội dung chỉ hiển thị trên trang bài viết -->
</b:if>
Cho một trang bài viết cụ thể:
<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl + "2016/03/postn.html"'>
<!-- Nội dung chỉ hiển thị trên trang bài viết có địa chỉ url Blog-cua-ban/2016/03/postn.html-->
</b:if>

3. Trang tĩnh (Static page)

<b:if cond='data:view.isPage'>
<!-- Nội dung chỉ hiển thị trên trang tĩnh static page -->
</b:if>
Theo version trước:
<b:if cond='data:blog.pageType == "static_page"'>
<!-- Nội dung chỉ hiển thị trên trang tĩnh static page -->
</b:if>
Cho một trang tĩnh cụ thể:
<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl + "p/static.html"'>
<!-- 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>

4. Trang index bao gồm trang chủ, trang hiển thị nhãn Label, và trang archive.

<b:if cond='data:view.isMultipleItems'>
<!-- 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>
Theo version trước:
<b:if cond='data:blog.pageType == "index"'>
<!-- 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>

5. Trang label search

<b:if cond='data:view.isLabelSearch'>
<!-- 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>
Theo version trước:
<b:if cond='data:blog.searchLabel'>
<!-- 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>

6. Hiển thị nội dung cho kết quả tìm kiếm (ví dụ: /search?q=blogger)

<!-- Bao gồm trang tìm kiếm nhãn -->
<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>
Theo version trước:
<b:if cond='data:blog.searchQuery'> 
<!-- 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>

7. Trang lỗi 404

<b:if cond='data:view.isError'>
<!-- Nội dung chỉ hiển thị trên trang lỗi -->
</b:if>
Theo version trước:
<b:if cond='data:blog.pageType == "error_page"'>
<!-- Nội dung chỉ hiển thị trên trang lỗi -->
</b:if>

8. Trang lưu trữ (archive)

<b:if cond='data:view.isArchive'> 
<!-- Nội dung chỉ hiển thị trên tất cả các trang lưu trữ archive-->
</b:if>
Theo version trước:
<b:if cond='data:blog.pageType == "archive"'> 
<!-- Nội dung chỉ hiển thị trên tất cả các trang lưu trữ archive-->
</b:if>

9. Trang hiển thị trên mobile

<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

<b:if cond='data:post.isFirstPost'>
<!-- Nội dung cần trình bày -->
</b:if>

11. Nội dung hiển thị cho trang tĩnh Static Page và bài viết Item

<b:if cond='data:view.isSingleItem'>
<!-- Nội dung chỉ hiển thị với trang tĩnh và bài viết -->
</b:if>
Theo version trước:
<b:if cond='data:blog.url == data:post.url'>
<!-- Nội dung chỉ hiển thị với trang tĩnh và bài viết -->
</b:if>

12. Hiển thị nội dung nếu bài viết có ảnh thumbnail

<b:if cond='data:post.thumbnailUrl'>
<!-- Nội dung chỉ hiển thị với bài viết có ảnh thumbnail -->
</b:if>

13. Hiển thị một nội dung khi có Backlink

<b:if cond='data:post.showBacklinks'>
<!-- Nội dung chỉ hiển thị khi có backlink -->
</b:if>

14. Hiển thị nội dung cho Tác giả bài viết

<b:if cond='data:displayname == "author-name"'> 
<!-- Nội dung cần trình bày -->
</b:if>

15. Hiển thị nội dung trên trang có số comments bằng một giá trị nào đó

<b:if cond='data:post.numComments == number'>
<!-- Nội dung cần trình bày -->
</b:if>

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

 <b:if cond='data:post.allowComments'> 
<!-- Nội dung cần trình bày -->
</b:if>

17. Hiển thị nội dung ở trang Preview (xem trước)

<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'>
<b:if cond='data:label.isLast != &quot;true&quot;'> <!-- 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>

Phần 2. Cách sử dụng và kết hợp các thẻ điều kiện 

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'>
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>

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)

<b:if cond='!data:blog.pageType == "item"'>
<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>
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.

4. Sử dụng điều kiện IN

<b:if cond='data:blog.pageType in {"static_page","item"}'>
Nội dung chỉ hiển thị Trang Tĩnh và trang Bài Viết
</b:if>

5. Sử dụng điều kiện NOT IN

<b:if cond='data:blog.pageType not in {"static_page","item"}'>
Nội dung không hiển thị Trang Tĩnh và trang Bài Viết
</b:if>

6. Sử dụng điều kiện AND

<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'>
Nội dung hiển thị hoặc Trang Tĩnh hoặc Trang Bài Viết
</b:if>

8. Sử dụng điều kiện Else if

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<data:post.body/>
<b:elseif cond='data:blog.pageType == &quot;static_page&quot;'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
Đoạn code trên tương đương với
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<data:post.body/>
<b:else/>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
</b:if>

Phần 3. Lưu ý 

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ẽ được thay là
<b:if cond='data:blog.pageType == quot;static_pagequot;'> 
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.
[/tintuc]