Thứ Bảy, 29 tháng 9, 2012

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


Thủ thuật này giúp tạo ra sự khác biệt cho blog của bạn. Theo đó tiện ích được chọn hiển thị sẽ mặc định được ẩn đi, và widget đó chỉ hiện thị khi nào vào xem các bài viết thuộc nhãn đã được bạn chỉ định. Tiện ích này tương tự như thủ thuật: Hiện thị widget ở những trang nhất định trong blogspot
Để thực hiện thủ thuật này, trước tiên bạn cần xác định ID của một tiện ích (widget) mà bạn muốn chỉ hiển thị khi xem các bài viết thuộc nhãn nào đó. Lấy ví dụ ở đây là một tiện ích có ID là HTML17.
- Cách xác định ID:

  • Nhấn qua thẻ Page Elements (Phần tử trang)
  • Bấm Edit (Chỉnh sữa) vào widget muốn lấy ID.
  • Nhìn lên thanh địa chỉ, dòng chữ phía sau cùng chính là ID của widget.
Bước 2. Đăng nhập Blogger, vào Design >> Edit HTML, chọn Expand Widget Templates. Đặt đoạn code sau đây vào trước thẻ </head>:
/*Hiển thị widget khi xem các bài viết của một label (nhãn) nhất định http://namkna.blogspot.com/*/
<style type='text/css'>
#ID_widget {display:none;}
</style>
Trong đó: ID_widget // Thay ID widget muốn hiển thị vào đây. (Ở ví dụ trên thì ID_widget  là HTML17)
Khi đó thay vào sẽ được như sau:
/*Hiển thị widget khi xem các bài viết của một label (nhãn) nhất định http://namkna.blogspot.com/*/
<style type='text/css'>
#HTML17 {display:none;}
</style>
Bước 3: tìm đoạn code tương tự đoạn code sau đây:
<data:label.name/></a><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
- Thêm vào sau nó đoạn code sau:
<!-- Hiển thị widget khi xem các bài viết của một nhãn nhất định http://namkna.blogspot.com/-->
<b:if cond='data:blog.pageType == "item"'>
<b:if cond='data:label.name == "Nhãn"'>
<style type='text/css'>
#HTML17 {display:block;}
</style>
</b:if>
</b:if>

Nhãn: Thay nhãn của bài viết muốn hiển thị widget.
ID_widget: Thay ID widget muốn hiển thị vào đây.
Bước 4: Save template. (Lưu mẫu)
Cách khác: theo thuthuatblogger, thì  ở bước 3 bạn tìm đoạn code tương tự như sau:
<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>
Rồi đổi nó thành thế này:
<span class='post-labels'>
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<script>var getLabel=&#39;<data:label.name/>&#39;;</script>
<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>
Kế đến dùng từ khóa HTML17 tìm đến cấu trúc XML của tiện ích này rồi thêm vào thành như sau (phần được đánh dấu màu đỏ là phần thêm vào):
<b:widget id='HTML1' locked='false' title='Tên tiện ích' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script>
//<![CDATA[
// Code to display widgets on posts from a label by www.thuthuatblogger.info
if(getLabel=="Tên nhãn") {
document.getElementById("HTML17").style.display = "block";
}
//]]>
</script>
</b:if>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != &quot;&quot;'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
</b:includable>
</b:widget>
Thay Tên nhãn thành tên của nhãn mà bạn muốn áp dụng thủ thuật. Lưu Template là hoàn thành.
Mở rộng: nếu bài viết có nhiều nhãn thì có thể thêm điều kiện để tiện ích chỉ hiển thị đối với nhãn cuối cùng hay không. Câu trả lời của mình là chỉ cần sử dụng Bước 1 với code nhãn như sau:
<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.isLast == &quot;true&quot;'>
<style type='text/css'>
#HTML17 {display:block}
</style>
</b:if>
</b:if>
</b:loop>
</b:if>
</span>
Chúc thành công!

0 nhận xét:

Đăng nhận xét

 
Design by Wordpress Theme | Bloggerized by Free Blogger Templates | coupon codes