Chuyên mục

Blogger
  • Blogger Template 8
    • Seo Blogspot 29
      • Thiết kế Blogspot 26
        • Thủ thuật Blogspot 79
          • Tiện ích Blogspot 31
            Máy tính
            • Phần mềm 45
              • Sửa lỗi Windows 20
                • Thủ thuật Windows 78
                  • Cài đặt Windows 43

                    Hiển thị tên Nhãn trong bài viết theo vòng lặp

                    Vấn đề này đôi khi bạn thấy nó thật bình thường bởi vì bạn làm đúng nhưng đôi khi bạn làm không đúng cho dù cố gắng đến mấy cũng không hiển thị được tên Nhãn trong bài viết. Trông có vẻ tầm thường nhưng thật ra nó lại hết sức phức tạp không như bạn tưởng. Một điều lưu ý khi bạn nâng cấp widget Blog1 lên v2 có một số điều kiện của v1 không sử dụng được cho v2 nhưng ngược lại thì có. Cho nên bạn thật lưu ý phần này.

                    Hiển thị tên Nhãn trong bài viết theo vòng lặp

                    Trong bài này mình sẽ đưa ra quy tắc chung hiển thị tên Nhãn trong bài viết theo vòng lặp áp dụng cho tất cả phiên bản Blogger (1,2,3) và được áp dụng cho widget Blog1 (Bài đăng trên Blog) v1 và v2.

                    Bây giờ mình sẽ nêu ra các kiểu hiển thị kèm với ví dụ minh họa cho các bạn thấy rõ hơn

                    Lưu ý:
                    20: Số Nhãn tối đa của một bài viết
                    200: Số ký tự tối đa của một Nhãn
                    5.000: Số Nhãn tối đa của Blog

                    Điều quan trọng không thể thiếu đó là tạo vòng lặp Nhãn bài viết trước rồi hãy làm gì thì làm, vòng lặp có dạng sau:

                    Copy

                    <b:loop values='data:post.labels' var='label'>

                      // Điều kiện hiển thị tên Nhãn bài viết.

                    </b:loop>


                    Lưu ý vòng lặp của Nhãn phải được đặt trong vòng lặp của bài viết như sau:

                    Copy

                    <b:loop values='data:posts' var='post'>

                      <b:loop values='data:post.labels' var='label'>

                        // Điều kiện hiển thị tên Nhãn bài viết.

                      </b:loop>

                    </b:loop>


                    Sau đây là các ví dụ minh họa: Lưu ý tên Nhãn được sắp xếp từ trái qua phải theo bảng chữ cái A,B,C..

                    1. Lọc lấy tất cả Nhãn

                    Copy

                    <b:loop values='data:post.labels' var='label'>

                      <a expr:href='data:label.name' expr:title='data:label.name'>

                        <data:label.name/>

                      </a>

                    </b:loop>


                    Trong bài viết có Nhãn nào được show ra hết

                    2. Lọc lấy Nhãn cuối

                    Copy

                    <b:loop values='data:post.labels.length - 1' var='label'>

                      <a expr:href='data:post.labels[label].url' expr:title='data:post.labels[label].name'>

                        <b:eval expr='data:post.labels[label].name'/>

                      </a>

                    </b:loop>


                    Trong đó data:post.labels.length được hiển thị bằng số Nhãn có trong bài viết, như vậy không cần biết bài viết có mấy Nhãn nhưng chỉ hiển thị Nhãn cuối cùng.

                    3. Lọc lấy Nhãn đầu:

                    Copy

                    <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' expr:title='data:post.labels[0].name'>

                          <b:eval expr='data:post.labels[0].name'/>

                        </a>

                      </b:if>

                    </b:loop>


                    Trong đó item là một giá trị tự đặt sau đó đặt điều kiện cho giá trị này bé hơn hoặc bằng 0 (sử dụng phép toán so sánh), như vậy khi sử dụng điều kiện này không cần biết bài viết có mấy Nhãn nhưng chỉ hiển thị Nhãn đầu tiên.

                    4. Đảo ngược các Nhãn

                    Ví dụ bình thường tên các Nhãn được sắp xếp theo thứ tự Nhãn A, Nhãn B, Nhãn C, Nhãn D..., tuy nhiên chúng ta có thể hiển thị ngược thành Nhãn D, Nhãn C, Nhãn B, Nhãn A..., có nghĩa hiển thị từ Nhãn cuối tới Nhãn đầu tiên, chúng ta có 2 cách

                    Copy

                    <b:loop values='data:post.labels.length - 1 to 0' var='label'>

                      <a expr:href='data:post.labels[label].url' expr:title='data:post.labels[label].name'>

                        <b:eval expr='data:post.labels[label].name'/>

                      </a>

                    </b:loop>


                    Hoặc có thể sử dụng

                    Copy

                    <b:loop reverse='true' values='data:post.labels' var='label'>

                      <a expr:href='data:label.url' expr:title='data:label.name'>

                        <data:label.name/>

                      </a>

                    </b:loop>


                    Với reverse='true' là giá trị mặc định nếu bằng true đảo ngược Nhãn, bằng false theo thứ tự từ trái qua và mặc định không ghi.

                    5. Hiển thị tên một Nhãn của bài viết đầu tiên cho tất cả các bài viết tiếp cho dù các bài viết tiếp theo không có trong Nhãn đó và không sử dụng vòng lặp.

                    Copy

                    <a expr:href='data:posts[1].labels[0].url' expr:title='data:posts[1].labels[0].name'>

                      <b:eval expr='data:posts[1].labels[0].name' />

                    </a>


                    6. Số Nhãn trong một bài viết

                    Copy

                    <data:post.labels.length/>


                    Nội dung chính
                      Bài đăng mới hơn Bài đăng cũ hơn