Thứ Năm, 18 tháng 6, 2009

Tiện ích "Related Posts" với hiệu ứng mô tả bài viết

Theo yêu cầu của bạn LouLou (luomlatblog.blogspot.com)
[FD's BlOg] - Tiện ích "Bài viết liên quan"(Related Posts) là một trong các tiện ích không thể thiếu cho mỗi bài viết. Nó giúp người xem dễ dàng truy cập vào các bài viết khác tương tự. Và tiếp theo chuỗi ứng dụng của hiệu ứng mô tả bài viết, hôm nay theo yêu cầu của bạn LouLou mình sẽ tiếp tục ứng dụng nó cho tiện ích các bài viết liên quan.
Đã fixed lỗi - và có thay đổi 1 chút về code CSS + Link JS

Hình ảnh minh họa:


Thủ thuật này sẽ lấy ra một số bài viết mới nhất (ví dụ 5 bài) từ các link RSS của mỗi nhãn trong bài viết làm list các bài liên quan. vì thế nếu bài viết của bạn có nhiều nhãn thì các bài liên quan cũng sẽ nhiều hơn. Ví dụ bài viết có 2 nhãn ta sẽ có 2x5= 10 bài viết liên quan.
Do kiến thức về javascript của mình còn ít ỏi, nên thủ thuật này mình chỉ có thể làm được như thế. Và thủ thuật này vẫn phát triển từ thủ thuật recent post của VWG.

☼ Bây giờ ta bắt đầu thủ thuật:
1. Đăng nhập blog
2. Vào bố cục
3. Vào chỉnh sửa code HTML
4. Chọn mở rộng mẫu tiện ích
5. Chép tất cả đoạn code bên dưới vào trước thẻ đóng </head>

<style type='text/css'>
.mota-desc{
position: relative;
z-index: 0;
text-decoration:none;
}

.mota-desc:hover{
background-color: transparent;
z-index: 50;
}

.mota-desc span{
position: absolute;
background-color: #ffffff;
padding: 5px;
left: -1000px;
border: 1px solid #666;
visibility: hidden;
color: black;
text-decoration: none;
}

.mota-desc span img{
border-width: 0;
padding: 2px;
}

.mota-desc:hover span{
padding:5px;
visibility: visible;
top: 20px;
left:70px;
width:250px;
background:#ddd;
text-align: justify;
}

#related-posts {
padding-top:40px;
}

#related-posts a {
text-decoration : none;
}
#related-posts a:hover {
text-decoration : none;
}
</style>


<script language='JavaScript'>
imgr = new Array();

imgr[0] = "http://farm4.static.flickr.com/3635/3638008086_87c5d93e22_o.gif";


showRandomImg = true;

imgwidth = 60;
imgheight = 60;
fntsize = 12;
acolor = "#555";
aBold = true;
motacolor = "#f00";

text = "Nhận xét";

showPostDate = true;

summaryPost = 150;
summaryFontsize = 12;
summaryColor = "#000";
icon2 = " » ";
numposts = 5;

home_page = "http://www.fandung.com/";

</script>

<script src='http://data.fandung.com/blog/demo/newposts-Description/style2/desc-related-post3.js' type='text/javascript'/>

- Lưu ý:

+ imgwidth = 60; , imgheight = 60; : kích thước ảnh thumbnail sẽ hiển thị trong phần mô tả .
+ fntsize = 12; : size chữ của tiêu đề bài viết
+ acolor = "#555"; : màu của tiêu đề bài viết
+ motacolor = "#f00"; : màu của tiêu đề bài viết trong phần mô tả
+ summaryPost = 150; : số kí tự hiển thị trong phần mô tả bài viết
+ summaryFontsize = 12; : size chữ của phần mô tả
+ summaryColor = "#000"; : màu chữ của phần mô tả
+ numposts = 5; : số bài viết sẽ hiển thị trong list các bài liên quan của mỗi nhãn. Chú ý: giá trị này phải chỉnh bằng với giá trị max-results=5 bước 7.
+ home_page = "http://www.fandung.com/"; : thay bằng địa chỉ URL của blog bạn


6. Tiếp tục xuống dưới, tìm đoạn code sau :
<data:post.body/>

7. Thêm vào sau nó đoạn code bên dưới:

<b:if cond='data:blog.pageType == "item"'>
<div id='related-posts'>
<font face='Arial' size='3'><b>Bài viết liên quan : </b></font><br/>
<b:loop values='data:post.labels' var='label'><b>Nhãn : </b><font color='#FF0000'><data:label.name/></font><br/>

<b:if cond='data:blog.pageType == "item"'>

<script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?max-results=5&amp;orderby=published&amp;alt=json-in-script&amp;callback=showrelatedposts&quot;' type='text/javascript'/>

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

</div>

</b:if>

8. Save template.

- Lưu ý : (update 18/06/2009)

+ Do tên của các class trong code CSS của thủ thuật này trùng với tên của các class trong các thủ thuật Recent posts mà mình đã post, nên mình có 1 chút thay đổi so với bài viết ban đầu.
+ Cụ thể : tên của class mota sẽ đổi lại thành mota-desc, và file JS đổi lại thành file desc-related-post3.js . Các bạn xem và sửa lại nhé.

Cáo lỗi với các bạn vì sự cố này.

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

Không có nhận xét nào:

Đăng nhận xét