Labels

Blogger Code - b:if


Trong cuộc sống, từ nếu là từ bị ghét nhiều nhất, tuy nhiên trong lập trình nó lại là từ được các lập trình viên yêu quý nhất. Cấu trúc rẽ nhánh b:if trong mã nguồn blog có lẽ là thẻ thân quen và được các blogger sử dụng nhiều nhất để giải quyết bài toán về bố cục, js, css cho từng trang riêng biệt

+ b:if, b:elseif, b:else hoạt động trong mọi mã XML trừ b:skin
+ khi sử dụng b:elseif và b:else bắt buộc phải có b:if
+ b:elseif và b:else không bắt buộc (chỉ sử dụng b:if vẫn đúng)
+ b:elseif có thể sử dụng nhiều lần trong 1 thẻ b:if
+ b:else chỉ được dùng 1 lần trong thẻ b:if, nếu kết hợp cả b:if, b:elseif, b:else thì b:else phải là điều kiện rẽ nhánh cuối cùng

Cấu trúc


* b:if

<b:if cond='CONDITION'>
  <!-- block of code to be executed if the condition is true -->
</b:if>

* b:if / b:else

<b:if cond='CONDITION'>
  <!-- block of code to be executed if the condition is true -->
  <b:else/>
  <!-- block of code to be executed if the condition is false -->
</b:if>

* b:if / b:elseif

<b:if cond='CONDITION1'>
  <!-- block of code to be executed if the condition1 is true -->
<b:elseif cond='CONDITION2'/>
  <!-- block of code to be executed if the condition1 is false and condition2 is true -->
</b:if>

* b:if / b:elseif / b:else

<b:if cond='CONDITION1'>
  <!-- block of code to be executed if the condition1 is true -->
  <b:elseif cond='CONDITION2'/>
  <!-- block of code to be executed if the condition1 is false and condition2 is true -->
  <b:else/>
  <!-- block of code to be executed if the condition1 is false and condition2 is false -->
</b:if>

Do thẻ b:else là rẽ nhãnh các ngoại lệ còn lại nên bắt buộc b:if, b:elseif phải có thuộc tính điều kiện cond="xxx"

Ví dụ

- Với điều kiện luôn đúng

<b:if cond='true'>
...
</b:if>

Với dữ liệu boolean

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

Với dữ liệu dạng chuỗi

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

Với biểu thức so sánh

<b:if cond='data:view.type == "item"'>
...  
</b:if>

Kết hợp phép logic

<b:if cond='data:view.search.label and data:view.isMobile'>
...  
</b:if>

Rẽ nhánh với nhãn chỉ định

<b:if cond='data:view.search.label in ["Mes photos", "Mes vidéos"]'>
<!-- Code cho bài có nhãn là Mes photos và Mes vidéos -->
<b:elseif cond='data:view.search.label in ["Mes recettes", "Ma collection de chocolats"]'/>
<!-- Code cho bài có nhãn là Mes recettes và Ma collection de chocolats -->
<b:else/>
<!-- Các trường hợp còn lại -->  
</b:if>

Sử dụng với Lambda

<b:if cond='data:posts any (p => p.date.year == 2018)'>
<!-- Code cho bài đăng năm 2018 -->  
<b:else/>
<!-- Các trường hợp còn lại -->  
</b:if>

Thẻ điều kiện b:if (b:elseif, b:else) rất quan trọng nếu bạn muốn lấn sâu hơn vào blogger như thiết kế template, tùy biến từng trang. Để sử dụng linh hoạt thẻ điều kiện, ngoài cấu trúc bạn cũng cần phải nắm vững các thẻ dữ liệu của blog ví dụ data:view, data:blog, ... sẽ được giới thiệu trong tương lai không xa

Chúc bạn học tốt !