Tìm hiểu về Vòng lặp Data Label của Blogger

Vòng lặp Label giúp chúng ta lấy tất cả danh sách label hiển thị ra ngoài và chúng ta có thể tùy biến được nhiều kiểu hiển thị khác nhau, cùng mình tìm hiểu bên dưới như sau:

1. Load tất cả các label

Đây chính là vòng lặp để lấy tất cả các label ra ngoài

<b:loop index='i' values='data:post.labels' var='label'>
    <a expr:href='data:label.url' rel='tag'>
        <data:label.name />
    </a>
</b:loop>
2. Chỉ lấy label đầu tiên

 - Cách 1:

<b:if cond='data:post.labels'>
    <a expr:href='data:post.labels.first.url'>
        <data:post.labels.first.name />
    </a>
</b:if>
- Cách 2: Dùng vòng lặp chỉ xuất ra label đầu tiên

<b:loop values='data:post.labels' index='i' var='label'>
    <b:if cond='data:i == 0'>
        <a expr:href='data:label.url' rel='tag'>
            <data:label.name />
        </a>
    </b:if>
</b:loop>
- Cách 3:

<b:loop index='item' values='data:post.labels' var='label'>
    <b:if cond='data:item lte 0'>
        <a expr:href='data:post.labels[0].url'>
            <b:eval expr='data:post.labels[0].name' />
        </a>
    </b:if>
</b:loop>
3. Lấy label cuối cùng

- Cách 1:

<b:if cond='data:post.labels'>
    <a expr:href='data:post.labels.last.url'>
        <data:post.labels.last.name />
    </a>
</b:if>
- Cách 2:

<b:loop values='data:post.labels.length - 1' var='label'>
    <a expr:href='data:post.labels[label].url'>
        <b:eval expr='data:post.labels[label].name' />
    </a>
</b:loop>

4. Lấy theo điều kiện lớn hơn

- Lấy từ vị trí 1 bỏ vị trí đầu tiên là 0 ( Lớn hơn 0)

<b:loop index='i' values='data:post.labels' var='label'>
    <b:if cond='data:i gt 0'>
      <a expr:href='data:label.url' rel='tag'>
        <data:label.name />
      </a>
    </b:if>
</b:loop>
Hoặc

<b:loop index='i' values='data:post.labels' var='label'>
    <b:if cond='data:i > 0'>
      <a expr:href='data:label.url' rel='tag'>
          <data:label.name />
       </a>
    </b:if>
</b:loop>
- Tương tự các bạn sửa data:i gt 0 thành các bị trí khác

Tương tự áp dụng với điều kiện nhỏ hơn 2 như sau

<b:loop index='item' values='data:post.labels' var='label'>
    <b:if cond='data:item lt 2'>
        <a expr:href='data:label.url' rel='tag'>
            <data:label.name />
        </a>
    </b:if>
</b:loop>
5. Không lấy label cuối cùng

<b:with value='data:post.labels' var='filter'>
    <b:loop index='i' values='data:filter' var='label'>
        <b:if cond='data:filter.size neq data:i + 1'>
            <a expr:href='data:label.url' rel='tag'>
                <data:label.name />
            </a>
        </b:if>
    </b:loop>
</b:with>
6. Sắp xếp thứ tự label từ Z -> A

Mặc định label được hiển thị thứ tự từ 0 - 9 - a - z và dưới đây là sắp xếp ngược lại

<b:loop reverse='true' values='data:post.labels' var='label'>
    <a expr:href='data:label.url' rel='tag'>
        <data:label.name />
    </a>
</b:loop>

Hoặc

<b:loop values='data:post.labels.length - 1 to 0' var='label'>
    <a expr:href='data:post.labels[label].url'>
        <b:eval expr='data:post.labels[label].name' />
    </a>
</b:loop>
7. Nhóm Label

Hiển thị label theo 1 nhóm đã khai báo trước

<b:loop values='data:post.labels' var='label'>
    <b:if cond='data:label.name in ["Blogspot", "Blogger", "Theme", "Templates"]'>
        <a expr:href='data:label.url' rel='tag'>
            <data:label.name />
        </a>
    </b:if>
</b:loop>
Ngược lại không hiển thị

<b:loop values='data:post.labels' var='label'>
    <b:if cond='data:label.name not in ["Blogspot", "Blogger", "Theme", "Templates"]'>
        <a expr:href='data:label.url' rel='tag'>
            <data:label.name />
        </a>
    </b:if>
</b:loop>
8. Lấy theo nhiều vị trí

Lấy label theo các vị trí 0, 2, 4, 6

<b:loop index='item' values='data:post.labels' var='label'>
    <b:if cond='data:item in [0,2,4,6]'>
        <a expr:href='data:label.url' rel='tag'>
            <data:label.name />
        </a>
    </b:if>
</b:loop>
Ngược lại không lấy các vị trí đó

<b:loop index='item' values='data:post.labels' var='label'>
    <b:if cond='data:item not in [0,2,4,6]'>
        <a expr:href='data:label.url' rel='tag'>
            <data:label.name />
        </a>
    </b:if>
</b:loop>

9. Lấy theo một vị trí nào đó

Lấy label theo vị trí 3

<b:loop values='data:post.labels' index='i' var='label'>
    <b:if cond='data:i == 3'>
        <a expr:href='data:label.url' rel='tag'>
            <data:label.name />
        </a>
    </b:if>
</b:loop>


10. Hiển thị label kèm theo số bài viết

<b:loop index='i' values='data:post.labels' var='label'>
    <a expr:href='data:label.url' rel='tag'>
        <data:label.name />
        <data:label.name.size />
    </a>
</b:loop>

Hoặc

<b:loop index='i' values='data:post.labels' var='label'>
    <a expr:href='data:label.url' rel='tag'>
        <data:label.name />
        <data:label.name.length />
    </a>
</b:loop>

Bài viết cùng chủ đề: