Hiển thị widget khi xem các bài viết của 1 nhãn nhất định


Bài viết hôm nay mình sẽ giới thiệu cho các bạn việc tùy chỉnh để 1 widget nào đó chỉ được phép hiển thị khi bạn vào xem 1 bài viết của 1 nhãn nào đó. Mở rộng thủ thuật này ra ta có thể áp dụng cho tác giả của bài viết. Ví dụ tác giả A sẽ hiển thị widget A...

Hình ảnh minh họa :
Khi xem ở 1 trang bài viết
(ở hình minh họa là bài viết thuộc nhãn Love)

 

Khi xem ở trang chủ

Thủ thuật : các tiện ích được chọn sẽ mặc định được ẩn đi, khi bạn vào xem 1 bài viết nào đó, nếu lệnh lặp nhãn (Label) tìm thấy nhãn đã chỉ định thì tiện ích sẽ được hiển thị.
* Các bước thực hiện :
1. Xác định ID của widget cần thực hiện.
2. Thực hiện các bước sau :
- Vào Thiết kế > Chỉnh sửa HTML > Mở rộng mẫu tiện ích
- Chèn đoạn code CSS bên dưới vào trước thẻ đóng </head>

<style type='text/css'>
#HTML3 {display:none;}
</style>

với HTML3 là ID của widget cần thực hiện.

- Tiếp tục tìm đoạn code tương tự như thế này :

<span class='post-labels'>
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
</b:loop>
</b:if>
</span>

và thêm đoạn code ( in nghiêng ) như bên dưới :

<span class='post-labels'>
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:if cond='data:label.name == &quot;love&quot;'>
<style type='text/css'>
#HTML3 {display:block;}
</style>
</b:if>
</b:if>

</b:loop>
</b:if>
</span>

- với love : chính là nhãn của bài viết muốn hiển thị widget
       HTML3 : là ID của widget.

- Code màu đỏ ở trên chính là để loại bỏ các trang có chứa nhãn muốn thực hiện. Ví dụ như trang chủ, trang archive hoặc trang label có các bài viết có nhãn muốn thực hiện, nếu không có lệnh này thì tiện ích vẫn sẽ hiển thị. Do khi bạn xem các trang này thì các nhãn đã được quét, chỉ cần thấy nhãn muốn thực hiện thì tiện ích sẽ hiển thị ngay.

- Save template.

* Lưu ý :

- Khuyết điểm của thủ thuật này là cho dù tiện ích được ẩn nhưng nó vẫn sẽ được load, chỉ khi bạn tác động trực tiếp vào trong code của widget thì nó mới không load, còn dùng lệnh display:none; thì nó sẽ vẫn load nhưng chỉ không hiển thị mà thôi.

- Điều thứ 2 nữa là khi dùng cách này thì tiện ích sẽ không hiển thị trong phần Thiết kế -> Phần tử trangBảng điều khiển, chính vì thế nếu muốn chỉnh sửa nội dung của nó, bạn phải thực hiển điều này ngay trên giao diện của blog.

Chúc các bạn thành công.

Phan Dũng

Advertisement

 

Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com