• Tư vấn điều trị
      bệnh khàn tiếng


    www.trikhantieng.com

    Liên hệ + 0913163316

BlogList111

Việt Nam Gia Phả, nơi lưu trữ Gia Phả của người Việt Nam  Kiến thức Blogspot Ngonluanho: Nhung cau chuyen thap lua-Tin-Cay-Men Vngreenzone Là một nơi chia sẻ kinh nghiệm làm blogger - Nơi tôn vinh tâm hồn blogger Việt

Hiển thị widget khi xem bài viết thuộc nhãn nhất định

27
07/09/2011

Chỉ hiển thị widget khi xem bài viết một nhãn nhất định là cách giúp tạo sự khác biệt cho các bài viết thuộc một nhãn nào đó. Theo đó tiện ích được chọn hiển thị sẽ mặc định được ẩn đi, khi nào vào xem các bài viết thuộc nhãn nào đó, nếu lệnh lặp nhãn tìm thấy nhãn đã chỉ định thì tiện ích sẽ được hiển thị.

Bạn có thể xem Demo khi xem các bài viết thuộc nhãn Thông báo tại Thủ thuật Blogger, chú ý tiện ích Cập nhật từ blog khác.

Để 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à HTML1.

Bước 1. Đă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>:

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

Bước tiếp theo, tìm đoạn code tương tự đoạn code sau đâ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>

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>

Bước 2. Kế đến dùng từ khóa HTML1 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("HTML1").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.

Từ thủ thuật này, chúng ta có thể suy luận ra nhiều vấn đề. Lấy ví dụ theo ý của bạn Linh Dung có hỏi 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'>
#HTML1 {display:block}
</style>
</b:if>
</b:if>
</b:loop>
</b:if>
</span>

{27 bình luậnAdd yours ?}

00:01:00, 8 thg 9, 2011

Lại 1 thủ thuật hay nữa của anh Hà dành cho cộng đồng Blogger. :53). Có 1 vấn đề khi em áp dụng vào Blog của mình đó là em sử dụng thuộc tính border cho sidebar nên khi ẩn tiện ích đó đi thì vẫn xuất hiện 1 box trống nhỏ thôi nhưng mất thẩm mĩ, có cách nào khắc phục trường hợp này không anh Hà!

Reply
09:31:00, 8 thg 9, 2011

Dùng CSS cho tiện ích đó k có thuộc tính border là xong ấy mà LD.

Reply
11:01:00, 8 thg 9, 2011

Vấn đề này mà sao k có ai hỏi thêm để phát triển nhỉ? Ví dụng hiển thị widget khi xem bài viết của nhiều nhãn thì làm thế nào :51)

Reply
11:29:00, 8 thg 9, 2011

Nếu bài viết nhiều nhãn thì mình có thể thêm điều kiện để tiện ích chỉ hiển thị đối với nhãn cuối cùng được không anh Hà!

Reply
14:50:00, 8 thg 9, 2011

To Linh Dung: Ý kiến hay, thêm 1 vấn đề suy luận. A đã update trả lời ý kiến của e trong bài viết.

Reply
15:57:00, 8 thg 9, 2011

Em cũng nghĩ là trong temp có đoạn code data:label.isLast nên nghĩ rằng có thể áp dụng cho trường hợp này! Mà URL profile của anh ở phần author bị sai đó anh ạ, bị nhầm sang của anh Bình!

Reply
16:19:00, 8 thg 9, 2011

Uhm, cảm ơn e phát hiện nhé. Cắm nhầm địa chỉ ha ha.

Reply
16:30:00, 8 thg 9, 2011

Hihi cũng bởi vì em tìm Profile ID của anh nên mới phát hiện ra đó!

Reply
21:11:00, 8 thg 9, 2011

Sẵn cho em hỏi, có cách nào tạo ra thủ thuật như vầy không: Ví dụ như em xem một bài viết trong nhãn Thông báo thì tiện ích Bài viết mới nhất xuất hiện cũng toàn là những bài mới đăng trong nhãn Thông báo, và tương tự vậy đối với các bài viết ở nhãn khác?

Reply
21:16:00, 8 thg 9, 2011

Có đấy Peace, ý tưởng hay đấy, sẽ phát triển, có thể cũng nhanh chóng thôi. Please wait.

Reply
09:25:00, 9 thg 9, 2011

Bác hà cho em hỏi là có 1 chút vấn đề là khi làm như thế nếu ẩn khoảng 2, 3 cái widget tuy những cái ẩn đó ko hiển thị nhưng lại tạo ra 1 khoảng trắng giữa cái widget phía trên và phía dưới widget ẩn có cách nào khắc phục ko?

Reply
10:46:00, 9 thg 9, 2011

Bài viết hay, cảm ơn anh

Reply
15:16:00, 9 thg 9, 2011

To Linkphim: Kiểm tra thuộc tính padding trên sidebar, nhiều khi padding nhiều quá sẽ tạo khoảng gap khá lớn giữa các tiện ích.

Reply
01:37:00, 10 thg 9, 2011

Có cách nào tạo hẳn một trang gia diện riêng cho một nhãn gồm cả phần main blog luôn không Hà...
nếu cái này mà làm được nữa thì vô đối :)

Reply
06:48:00, 10 thg 9, 2011

@Minh Triết Bạn có thể xem tại đây: http://www.thuthuatblogger.info/2011/08/css-chung-cho-cac-bai-viet-thuoc-mot.html

Reply
00:21:00, 11 thg 9, 2011

Peace hiểu sai ý MT rồi, tạo ra hẳn 1 trang homepage riêng cho nhãn không phải chỉ thay đổi css trong phần entry mà thay đổi cả giao diện, widget và nhiều thứ khác nữa.

Lấy ví dụ blog của mình có 3 chủ đề chính: là A B C Các bài viết có nhãn A
B và C

Mình muốn trang homepage riêng và mỗi khi vào trang có dạng http://abc.blogspot.com/search/label/A thì sẽ tạo ra một trang homepage riêng cho nhãn A (tương tự với B và C)

Reply
09:43:00, 11 thg 9, 2011

Hiểu ý Minh Triết mà, đã biết cách làm rồi, cái này cũng gọi là độc đây nha. Khi nào xong sẽ post nhé.

Reply
10:19:00, 11 thg 9, 2011

Thủ thuật theo yêu cầu của Minh Triết sẽ là thủ thuật độc kế tiếp của TTB đó. Please wait for it. :51)

Reply
16:20:00, 30 thg 9, 2011

Anh Hà ah, em mới tạo blogger rất mơ hồ nhiều cái lắm, hi vọng vào blog của anh em sẽ mở mang đc nhiều.
ANh cho em hỏi là em muốn tạo blog mà các bài viết xuất hiện trên trang chủ(Trang Home) ấy anh được chỉ định trên một nhãn nhất định, ví dụ là nhãn "Bài viết Hot" chẳng hạn. Tức là các bài viết xuất hiện trên trang chủ được lấy từ nhãn "Bài viết Hot".
Mong các bro tư vấn hộ em với nhé. cảm ơn.

Reply
17:07:00, 30 thg 9, 2011

@vnfreedl.com Tìm dòng <b:include data='post' name='post'/> và thay nó bằng đoạn code:


<b:if cond='data:blog.url == data:blog.homepageUrl'>
<b:if cond='data:post.labels'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == &quot;Bài viết Hot&quot;'>
<b:include data='post' name='post'/>
</b:if>
</b:loop></b:if>
<b:else/>
<b:include data='post' name='printPosts'/>
<b:else/>
<b:include data='post' name='post'/>
</b:if>

Reply
16:36:00, 10 thg 11, 2011

Anh Hà ơi trong tem của mình không có đoạn code này: <span class='post-labels'> thì tìm đoạn nào vậy anh. Mong giúp đỡ.
http://www.vnsupercar.net/

Reply
16:41:00, 10 thg 11, 2011

@24h-Cafe Của em k có thẻ đó nhưng có đoạn code tương tự sau thẻ <div id='entry-tags'>.

Reply
16:49:00, 10 thg 11, 2011

Thanks, có gì tối nay mình sẽ vọc xem sao.

Reply
08:19:00, 11 thg 11, 2011

anh Hà ơi nếu thủ thuật này vẫn 1 Widge mình áp dụng cho trường hợp xuất hiện ở 2 hay 3 nhãn khác nhau thì làm cách nào? anh giúp với

Reply
11:16:00, 20 thg 12, 2011

thanks admin. Bạn rất pro. Mình mới chơi blogspot được gần 1 tháng và đã học hỏi được rất nhiều từ những thủ thuật của bạn. Hy vọng sẽ còn nhiều bài viết hay hơn nữa... http://tinhocplus.com

Reply
13:41:00, 20 thg 2, 2012

Cảm ơn anh qua trang web của anh em đã làm được nhiều điều lắm, tuy nhiên bài này em không làm được và đang rất bế tắc, mong anh bớt chút thời gian chỉ bão cho em được không em cảm on
anh cho em sđt hoặc anh giúp em theo số 0983557995 -0919562900 em cảm ơn nhiều lắm

Reply
17:10:00, 24 thg 2, 2012

Hello Mr. Hà. Mình có 1 thắc mắc là nếu bi giờ đổi lại là ẩn widget khi xem bài viết thuộc 1 nhãn nhất định thì code sẽ thay dổi sao.
Mình thử thế này nhưng mắc nỗi Widget đó sẽ không hiển thị trên trang chủ và trang laber. :3) :3) :3)
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:if cond='data:label.name != &quot;Xem Tivi&quot;'>
<style type='text/css'>
#HTML14 {display:block;}
</style>
</b:if>
</b:if>

Reply
Nội quy! Đóng lại Khi bạn viết bình luận, cần tuân thủ một số quy tắc sau:
» Bình luận phải nghiêm túc và không chứa các liên kết quảng cáo.
» Có thể sử dụng các thẻ <b> … </b>,<i> … </i>, <a href="URL..."> ... </a>.
» Yêu cầu thủ thuật tại mục Yêu cầu thủ thuật hoặc hỏi tại mục Hỏi và Đáp.
More →
Chữ đậm Chữ nghiêng Chữ nghiêng 2 Chèn Link Chèn Link Mã hóa code Help ?Nhấn vào biểu tượng hoặc kiểu chữ hoặc chèn link sau đó nhấn nút Chọn rồi copy (Ctrl + C) để paste (Ctrl + V) vào khung viết bình luận. Mã hóa code nếu bạn muốn đưa code vào bình luận.

Chọn Xóa

Next post: Bài đăng Mới hơn

Previous post: Bài đăng Cũ hơn