Recent Posts là tiện ích giúp hiển thị những bài viết mới nhất theo từng trương mục hoặc cho toàn bộ Blog. Đây là tiện ích được sử dụng rất phổ biến trên các WebBlog nhằm “hô biến” giao diện đơn giản thuần túy của Blogspot thành giao diện mang phong cách báo chí (Magazine Template), giúp Blog bạn trở nên “Pro” hơn trong mắt độc giả.
Tuy nhiên, việc ứng dụng nó cũng gây ra một số “tác dụng phụ” như : ảnh hưởng đến tốc độ load Blog, không tốt cho SEO,…do phải sử dụng JavaScript để lấy dữ liệu từ nguồn cấp Feed. Vì vậy, bạn hãy suy nghĩ thật kỹ trước khi áp dụng nó cho Blog của mình.
Và bắt đầu từ bài viết này, namkna sẽ giới thiệu đến các bạn một số Style để các bạn lựa chọn.
☼ Cách tiến hành:
1- Đăng nhập vào Blog
2- Vào Bố cục (Lauout)
3- Chọn Thêm tiện ích (Add widget) => Tạo một widget HTML\JavaScript và dán vào đoạn code bên dưới :
<style type="text/css"> #namkna-rc {width:300px;margin:0;padding:10px;overflow:hidden;border:1px solid #ccc;background:#fff} .namkna-rc h2{background:#39c;color:#fff;line-height:1.6em;margin:0 0 10px;padding:4px 10px;font-weight:bold} .namkna-rc ul{list-style:none;margin:0;padding:0} .namkna-rc li{text-indent:0;background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhENIc7FgSa-Yi1QwFWbCpNnbnK0sU-PN1dzfUCtuwZAUNvYXe_JQByRApIppSpHayiyMxcYClX4M2uVqe_qqb6yWlXnlLQuWrpdeLotbJfTsHxDfxD6zOFwYTzj4wNlmU8YzfjqaV5WbKc/s1600/tag_blue-namkna.gif) no-repeat 0 7px;line-height:1.5em;margin:0;padding:2px 0 2px 15px} .namkna-rc h2 a:link, .namkna-rc h2 a:visited {color:#fff} </style> <div id="namkna-rc" class="namkna-rc"> <h2><a href="http://namkna.blogspot.com/search/label/Blogspot-tips?&max-results=5">Thủ thuật blog</a></h2> <script type='text/javascript'> numposts = 5; list1 = 1; sumPosts = 168; </script> <script type='text/javascript'> //<![CDATA[ function removeHtmlTag(a, b) { var s = a.split("<"); for (var i = 0; i < s.length; i++) { if (s[i].indexOf(">") != -1) { s[i] = s[i].substring(s[i].indexOf(">") + 1, s[i].length) } } s = s.join(""); s = s.substring(0, b - 1); return s } function showrecentposts(e) { img = new Array(); for (var i = 0; i < numposts; i++) { var f = e.feed.entry[i]; var g = f.title.$t; var h; if (i == e.feed.entry.length) break; for (var k = 0; k < f.link.length; k++) { if (f.link[k].rel == 'alternate') { h = f.link[k].href; break } } if ("content" in f) { var j = f.content.$t } else if ("summary" in f) { var j = f.summary.$t } else var j = ""; s = j; a = s.indexOf("<img"); b = s.indexOf("src=\"", a); c = s.indexOf("\"", b + 5); d = s.substr(b + 5, c - b - 5); if ((a != -1) && (b != -1) && (c != -1) && (d != "")) img[i] = d; var l = '<table border="0" cellpadding="0" cellspacing="0" style="margin-bottom:5px;border-bottom:double #eee"><tr><td><img width="110" height="85" src="' + img[i] + '" align="left" border="0" title="' + g + '" alt="' + g + '" style="margin:5px 10px 0 0"><a href="' + h + '"><b>' + g + '</b></a><p style="margin:0;padding:5px 0 10px">' + removeHtmlTag(j, sumPosts) + ' ...</p></td></tr></table>'; var m = '<li><a href="' + h + '">' + g + '</a></li>'; if ((i >= 0) && (i < list1)) { var n = l } if (i == list1) { var n = '<div class="namkna-rc"><ul>' + m } if ((i > list1) && (i < numposts - 1)) { var n = m } if (i == numposts - 1) { var n = m + '</ul></div>' } document.write(n) } } document.write("<script src=\"http://namkna.blogspot.com/feeds/posts/default/-/Blogspot-tips?max-results="+numposts+"&orderby=published&alt=json-in-script&callback=showrecentposts\"><\/script>"); //]]> </script> </div>Trong đó:
- numposts = 5; : tổng số bài viết được hiển thị
- list1 = 1; : số bài viết hiển thị kèm ảnh thumbnail
- sumPosts = 168; : số ký tự mô tả (summary)
- Thay http://namkna.blogspot.com/ thành URL địa chỉ blog của bạn.
- Thay Blogspot-tips thành nhãn muốn hiển thị bài đăng mới nhất.
document.write("<script src=\"http://namkna.blogspot.com/feeds/posts/default/-/Blogspot-tips?max-results="+numposts+"&orderby=published&alt=json-in-script&callback=showrecentposts\"><\/script>");
- Thànhđoạn code bên dưới.document.write("<script src=\"http://namkna.blogspot.com/feeds/posts/default?max-results="+numposts+"&orderby=published&alt=json-in-script&callback=showrecentposts\"><\/script>");5- Sau đó Lưu Mẫu Mẫu lại.
=>Update : Thêm ảnh đại diện khi bài viết không có ảnh và tùy chọn để thay đổi màu chữ tiêu đề. Để làm điều này, bạn cần thay đoạn code chính của thủ thuật bằng đoạn code bên dưới :
<style type="text/css"> #namkna-rc {width:260px;margin:0;padding:10px;overflow:hidden;border:1px solid #ccc;background:#fff} .namkna-rc h2{background:#39c;color:#fff;line-height:1.6em;margin:0 0 10px;padding:4px 10px;font-size:12px;font-weight:bold} .namkna-rc ul{list-style:none;margin:0;padding:0} .namkna-rc li{text-indent:0;background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhENIc7FgSa-Yi1QwFWbCpNnbnK0sU-PN1dzfUCtuwZAUNvYXe_JQByRApIppSpHayiyMxcYClX4M2uVqe_qqb6yWlXnlLQuWrpdeLotbJfTsHxDfxD6zOFwYTzj4wNlmU8YzfjqaV5WbKc/s1600/tag_blue-namkna.gif) no-repeat 0 7px;line-height:1.5em;margin:0;padding:2px 0 2px 15px} .namkna-rc h2 a:link, .namkna-rc h2 a:visited {color:#fff} </style> <div id="namkna-rc" class="namkna-rc"> <h2><a href="http://namkna.blogspot.com/search/label/Blogspot-tips?&max-results=5">Thủ thuật blog</a></h2> <script type='text/javascript'> numposts = 5; list1 = 1; sumPosts = 168; maintitle = "#f0c"; subtitle = "#39c"; </script> <script type='text/javascript'> //<![CDATA[ function removeHtmlTag(a, b) { var s = a.split("<"); for (var i = 0; i < s.length; i++) { if (s[i].indexOf(">") != -1) { s[i] = s[i].substring(s[i].indexOf(">") + 1, s[i].length) } } s = s.join(""); s = s.substring(0, b - 1); return s } function showrecentposts(e) { img = new Array(); for (var i = 0; i < numposts; i++) { var f = e.feed.entry[i]; var g = f.title.$t; var h; if (i == e.feed.entry.length) break; for (var k = 0; k < f.link.length; k++) { if (f.link[k].rel == 'alternate') { h = f.link[k].href; break } } if ("content" in f) { var j = f.content.$t } else if ("summary" in f) { var j = f.summary.$t } else var j = ""; s = j; a = s.indexOf("<img"); b = s.indexOf("src=\"", a); c = s.indexOf("\"", b + 5); d = s.substr(b + 5, c - b - 5); if ((a != -1) && (b != -1) && (c != -1) && (d != "")) {img[i] = d;} else {img[i]="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbvWUndPSIo3rk4oEMk2Y8nUeUXt-OuGOJjeOD5xlZ9FQPFo0BnStFsVmuDiGbHQa5b6gPDiOMf7LJ5aZalFNtvK2b2xe_tJxZQ9ARolxHequsiSOa7i5AJqUFn5k0oHcH9gpyMzweh2S8/s1600/no-image-namkna.jpg";} var l = '<table border="0" cellpadding="0" cellspacing="0" style="margin-bottom:5px;border-bottom:double #eee"><tr><td><img width="110" height="85" src="' + img[i] + '" align="left" border="0" title="' + g + '" alt="' + g + '" style="margin:5px 10px 0 0"><a href="' + h + '" style="color:'+maintitle+'"><b>' + g + '</b></a><p style="margin:0;padding:5px 0 10px">' + removeHtmlTag(j, sumPosts) + ' ...</p></td></tr></table>'; var m = '<li><a href="' + h + '" style="color:'+subtitle+'">' + g + '</a></li>'; if ((i >= 0) && (i < list1)) { var n = l } if (i == list1) { var n = '<div class="namkna-rc"><ul>' + m } if ((i > list1) && (i < numposts - 1)) { var n = m } if (i == numposts - 1) { var n = m + '</ul></div>' } document.write(n) } } document.write("<script src=\"http://namkna.blogspot.com/feeds/posts/default/-/Blogspot-tips?max-results="+numposts+"&orderby=published&alt=json-in-script&callback=showrecentposts\"><\/script>"); //]]> </script> </div>Trong đó :
- maintitle = "#f0c"; : màu tiêu đề bài viết đầu tiên ( có ảnh và trích dẫn )
- subtitle = "#39c"; : màu tiêu đề các bài viết tiếp theo
- Nếu chưa biết mã màu thì bạn vào đây để lựa chọn cho mình mã màu như ý nha.
- Nếu muốn rút gọn tiêu đề khi bài viết quá dài thì bạn xem cách làm ves2 tại đây.- Lưu ý :Để sử dụng thủ thuật lâu dài bạn hãy download các file ảnh về và upload lên host riêng nha.
Chúc các bạn thành công !
itechplus
Nhận xét
Hello lâu quá ko contact gì nhỉ :)
Trả lờiXóaBạn đã ra trg chưa? Công tác đâu rồi?
++++++++
Help me!
lâu lâu cho mình hỏi tí nhé :D
cái công cụ search theo label của blog mình có vấn đề í. nó luôn hiển thị thiếu bài viết, và đương nhiên nó làm yếu đi cái công cụ Menu đi :(
Mình kO biết là do lỗi ở đâu??
ví dụ như label tác giả ihavenothing có >20 bài ấy vậy mà search bây h chỉ ra có 3 bài thôi :(
http://www.green-vietnam.com/search/label/ihavenothing
Bạn ngâm cứu giúp mình với nhé :)
help me :(
Trả lờiXóaBạn hãy sử dụng dấu ngắt để các bài viết hiển thị đầu đủ vì bài viết quá dài ảnh hưởng tới bài viết đó.
Trả lờiXóasao bài viết của mình có ảnh mà nó không hiển thị vậy ta ?
Trả lờiXóa@Hoằng Đảm Lưu ý tiện ích lấy ảnh trên blog và picasa do vậy chỉ những hình ảnh bạn upload lên blog mí hiện hình. Nếu không bạn hãy áp dụng cách 2 để lấy ảnh mặc ddinhgj no-image khi không có ảnh từ picasa
Trả lờiXóaThanks bạn nhiều nhé! Mình đang áp dụng cách 2, mặt dù hơi cực một xíu, hihi
Trả lờiXóa@Hoằng Đảm Uk tốt nhất hãy dùng ảnh của mình không bị lệ thuộc host và ko sợ die ảnh.
Trả lờiXóaĐiều chỉnh độ rộng khung ở đâu anh
Trả lờiXóachữ nx cứ tràn ra bên ngoài vì không biết điều chỉnh độ rộng khung ở đâu anh ạ
Trả lờiXóaĐiều chỉnh độ rộng khung width:300px ở đoạn này nè em:
Xóa#namkna-rc {width:300px;margin:0;padding:10px;overflow:hidden;border:1px solid #ccc;background:#fff}
được rồi anh ạ - có điều không dùng 2 wiget trên một blog vì nó cứ chống chau - chẳng hạn 1 cái có độ rộng 150 và 300 thì chúng đều theo 300 cả khi xóa cái có độ rộng 300 đi thì cái còn lại mới về đúng đọ rộng 150 của nó !
Trả lờiXóaĐúng rồi em nếu em dùng 2 widget thì em phải thay đổi toàn bộ ID của nó di nếu không nó sẽ sảy ra hiện tượng như em nói đó.
XóaAnh ơi thây đổi như thế nào anh - chọn đại mội id hay sao anh
Trả lờiXóaEm thay toàn bộ các đoạn namkna-rc thành namkna-post1
Xóaanh ơi thế em không muốn là bài viết mới nhất mà là một nhãn khác thì sao đc anh
Trả lờiXóaTrong bài viết anh có hướng dẫn rồi mà. Em sửa tên nhãn Blogspot-tips ở đoạn code sau nha:
Trả lờiXóadocument.write("<script src=\"http://namkna.blogspot.com/feeds/posts/default/-/Blogspot-tips
mình thích kiểu này, nhưng ko có phân trang, bạn tạo phân trang cho nó được ko.
Trả lờiXóaĐoạn code này được viết đơn giản sao cho giao diện đẹp nhất và load nhanh nhất, thêm phân trang vào tiện ích này sẽ làm cho tốc độ load chậm đi và không đẹp nữa bạn ak.
XóaKhi bạn điều chỉnh numposts = 5 thì số bài viết cũng sẽ tăng giảm theo điều chỉnh của bạn nha.
Trả lờiXóaAnh Nam ơi anh có thể hướng dẫn em tạo » Chèn link bằng thẻ: <a href="Link" rel="nofollow" >Text</a> các quy tắc bình luận không ạ? Khi em mã hóa chèn vào vẫn hiển thị Chữ Text (1 link) Chứ không hiển thị <a href="Link" rel="nofollow">Text</a> Em đã thử nhiều cách rồi a?
Trả lờiXóaEm mã hoá nó và chèn vào phần cài đặt => bài đăng và nhận xét => thông báo nhận xét sẽ không bị lỗi đó nha e. XEM ẢNH MINH HOẠ
Xóahttp://3.bp.blogspot.com/-nAQTpTog9yk/VUMlLi6WQgI/AAAAAAAAAOI/tuzcF-f1IxI/s1600/blogg.png
Trả lờiXóaMuốn căn lề tiêu đề cho nó lùi lại được ko bạn, tại mình chèn hình khác thay cái icon của bạn. Nó to quá đè lên chữ nhìn trông xấu