#0 Các điều kiện ẩn hiện trong blogspot

#0 Các điều kiện ẩn hiện trong blogspot
Cú pháp chung cho điều kiện để ẩn hiện trong blogspot, bài viết này được mình trình bày theo cách dễ hiểu và dễ nhớ cho các bạn đã có kinh nghiệm về code.
Do đó, nếu các bạn nào muốn tìm hiểu về các biểu thức điều kiện, cách ẩn hiện theo điều kiện blogspot mà có phần nào chưa hiểu có thể để lại comment bên dưới.


điền kiện ẩn hiện trong blogspot
điền kiện ẩn hiện trong blogspot
Điều kiện này sẽ dùng biểu thức IF (Nếu) - ELSE (Ngược lại) trong Blogger để thực hiện

I. Biểu thức Điều kiện để ẩn hiện trong blogspot

<b:if cond='Điều kiện'>
Nội dung
</b:if>
Khi đó tùy vào những điều kiện khác nhau và nội dung sẽ xuất hiện hay không xuất hiện ở trang 1 trang nào đó.

II. Các trang có trong blogspot

  1. Bài viết (post item)
  2. Trang tĩnh (staticpage)
  3. Trang chủ (homepageurl)
  4. Trang danh mục hay nhãn (label)
  5. Trang lưu trữ (archive)
  6. Trang index (có tác dụng trên trang chủ, nhãn, lưu trữ)
  7. Trang Search
  8. Trang lỗi Error404
  9. Trang trên Mobile


II. Á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......

III. Danh sách các điều kiện trong blogger

1. Điều kiện chỉ xuất hiện ở Trang chủ:

<b:if cond='data:blog.url == data:blog.homepageUrl'>
Nội dung
</b:if>

Chỉ không hiện trên trang chủ (điều kiện phủ định)

<b:if cond='data:blog.url != data:blog.homepageUrl'>
Nội dung
</b:if>

Chỉ cần thay == bằng != sẽ ra điều kiện phủ định. 


Mặt khác:
<b:if cond='data:blog.searchLabel'>
Nội dung

</b:if>
Là điều kiện hiện trên trang nhãn nhưng có có == thì tại dùng như sau để phủ định.

<b:if cond='!data:blog.searchLabel'>
Nội dung
</b:if>

Thêm "!" và trước data:[.....]

=> Kể từ đây về sau mình không nhắc về điều kiện phủ định nữa nhé!

2. Điều kiện xuất hiện ở Bài viết (post item):

<b:if cond='data:blog.pageType == &quot;item&quot;'>
Nội dung
</b:if>
P/s: Thường áp dụng cho phần bài viết liên quan mà chỉ có bài viết là có nhãn mà thôi

3. Điều kiện xuất hiện ở Trang tĩnh: (..../p/post-a.html) 

<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
Nội dung
</b:if>
Chỉ hiện trên trang tĩnh có link bất kì
<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl + "p/postn.html"'>
Nội dung
</b:if>

4. Điều kiện xuất hiện ở Trang hoặc Bài viết

<b:if cond='data:blog.url == data:post.url'>
Nội dung hiển thị trên bài viết và trang tĩnh
</b:if>

hoặc sử dụng điều kiện kết hợp

<b:if cond='data:blog.pageType == "static_page" or data:blog.pageType == "item"'>
Nội dung
</b:if>
hoặc bạn có thể sử dụng
<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>

5. Điều kiện xuất hiện ở Trang index:

Trang Index bao gồm: Trang chủ (hompageurl), trang hiển thị nhãn (label) và trang archive (lưu trữ)
<b:if cond='data:blog.pageType == &quot;index&quot;'>
Nội dung
</b:if>
Hoặc
<b:if cond='data:view.isMultipleItems'>
Nội dung
</b:if>

6. Điều kiện xuất hiện ở Trang nhãn (danh mục):

a) Chỉ hiện thị trên 1 nhãn
<b:if cond='data:blog.searchLabel'>
Nội dung
</b:if>
b) Chỉ hiển thị duy nhất 1 nhãn

<b:if cond='data:blog.searchLabel == "blogger"'>
<!-- Nội dung chỉ hiển thị trên nhãn "blogger"-->
</b:if>
c) Chỉ hiển thị trên bài viết có nhãn blogger 

 <b:if cond = 'data: post.labels any (l => l.name == "blogger")'>
      // Phần tử có điều kiện để thực thi
</ b: if>

7. Điều kiện xuất hiện ở chỉ hiển thị trên một nhãn nào đó

<b:if cond='data:blog.url == "http://DOMAIN/search/label/Ten-nhan"'>
Nội dung
</b:if>
Hoặc:

<b:if cond='data:blog.searchLabel == &quotTên nhãn&quot;"'>
Nội dung
</b:if>

8. Điều kiện xuất hiện ở Trang có Url bất kì:

<b:if cond='data:blog.url == "ĐỊA CHỈ URL"'>
Nội dung
</b:if>

9. Điều kiện xuất hiện ở Trang lỗi 404: 

<b:if cond='data:blog.pageType == &quot;error_page&quot;'>
Nội dung
</b:if>

10. Điều kiện xuất hiện ở Trang lưu trữ: 

<b:if cond='data:blog.pageType == &quot;archive&quot;'>
Nội dung
</b:if>
hoặc

<b:if cond='data:view.isArchive'>
<!-- áp dụng cho trang lưu trữ -->
</b:if>

11. Điều kiện xuất hiện trên di động Mobile: (.....url.html?m=1)

Là trang mà cuối url xuất hiện thêm ?m=1
Thường những thiết bị có kích thước màn hình hiển thị từ dưới <600px khi truy cập website sẽ chuyển sang url có ?m=1

a) Điều kiện chỉ hiện trên di động

<b:if cond='data:blog.isMobileRequest == &quot;true&quot;'>
Nội dung
</b:if>
b) Điều kiện chỉ hiển thị trên Desktop

<b:if cond='data:blog.isMobileRequest == &quot;false&quot;'>
Nội dung
</b:if>


Mình thường áp dụng để hiển thị quảng cáo trên Desktop và không hiển thị quảng cáo ở Mobile để gia tăng tốc độ tải trang trên di dộng.

12. Điều kiện xuất hiện ở Trang bài viết đầu tiên:

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'>
Nội dung
</b:if>

13. Điều kiện hiển thị nội dung trên trang có backlink

<b:if cond='data:post.showBacklinks'>
// Nội dung hiển thị
</b:if>

14. Hiện nội dung của 1 tác giả cụ thể

<b:if cond='data:displayname == "Tên tác giả"'>
// Nội dung hiển thị
</b:if>

Có phân biệt viết hoa viết thường

15. Điều kiện ẩn hiện trong Trang Search

a) Bao gồm trang tìm kiếm và trang nhãn 

<b:if cond='data:view.isSearch'>
Nội dung
</b:if>
b) Chỉ các trang tìm kiếm không bao gồm trang nhãn.

Hoặc chỉ áp dụng cho trang tìm kiếm
Ví du:  /search?q=kiến+thức+seo

<b:if cond='data:view.isSearch and !data:view.isLabelSearch'>
Nội dung
</b:if>

16. Hiển thị nội dung có 50 comments trở lên

a) Hiển thị khi có số lượng comment trong bài viết
<b:if cond='data:post.numComments == 50'>
<!-- Nội dung cần trình bày -->
</b:if>

Thường áp dụng khi đi phân trang comment khi bài viết có nhiều comments.
Thay số 50 thành con số khác

b) Hiển thị khi có >2 comment tức từ 3 comment trên lên

<b:if cond='data:post.numComments &gt; 2'>
Hiển thị khi có 3 bình luận trở lên
</b:if>
c) Hiển thị khi dưới 10 comment trở xuống

<b:if cond='data:post.numComments &lt; 10'>
Hiển thị khi có 3 bình luận trở lên
</b:if>

17. Hiển thị nội dung trên trang cho phép bình luận

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

Thường áp dụng phần thông báo nội quy bình luận khi tắt comment thì nội quy cũng ẩn đi.

18. Điều kiện áp dụng cho 1 HTML/Javascript

Chuyển đến tiện ích nằm trong mẫu cần đặt điều kiện:
Ví dụ tiện ích #HTML1 có dạng:

<b:widget id='HTML1' locked='false' title='' type='HTML' version='2' visible='true'>
......
</b:widget>


Thì thêm trực tiếp trong thẻ Widget

<b:widget cond="data:blog.isMobileRequest == &quot;false&quot;" id='HTML1' locked='false' title='' type='HTML' version='2' visible='true'>
......
</b:widget>


  • Ví dụ trên là điều kiện không hiển thị tiện ích #HTML1 trên di động
  • Lúc này chúng ta chèn thẳng vào widget luôn mà không cần dùng <b:if nữa.

19. Điều kiện chỉ hiện trên 1 post ID

Mỗi bài viết trong blogspot khi soạn thảo thì trong url đều có 1 dãy số Post ID. Thay thì ta sử dụng cả URL thì lúc này ta chỉ cần nhập Post ID của bài viết đó

<b:if cond='data:blog.pageId == "5383490038187241731"'>
Nội dung chỉ hiện cho cho bài viết có PostID 5383490038187241731</b:if>

20. Điều kiên kết hợp nhiều trang


<b:if cond='!data:blog.pageType == "item"'>
   <b:if cond='data:view.isHomepage'>
    <!-- trang chủ -->
   <b:else/>
    <b:if cond='data:view.isLabelSearch'>
    <!-- trang nhãn -->
     <b:else/>
    <!-- trừ trang nhãn -->
    </b:if>
   </b:if>
</b:if>

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

<b:if cond='data:view.isPreview'> … </b:if>

22. Đ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> 

III. Minh họa các điều khi sử dụng:

Kết hợp của 2 điều kiện (xuất hiện khi thỏa mãn cả 2 điều kiện)
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<style type='text/css'>.post-body {color: yellow;}</style><b:else/>
<b:if cond='data:blog.searchLabel'><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ủ <b:if cond='data:blog.url == data:blog.homepageUrl'> thì .post-body có chữ màu yellow, nếu là trang nhãn sẽ có màu là blue, ngược lại thì các trang khác có màu red.

Chúc bạn thành công!
1 Nhận xét