Hiển thị các bài đăng có nhãn widget blogspot. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn widget blogspot. Hiển thị tất cả bài đăng

05 tháng 7, 2014

[TUT+] Hướng dẫn tạo, chỉnh sửa templates blogspot ( phần 8 ) - random post

     Trong bài hôm nay, mình sẽ chỉ cho các bạn một số widget khác cho blog của mình, cụ thể như: random post, bài viết mới nhất. Cũng chẳng dài dòng làm gì, mình sẽ đi luôn vào code nhé!!!

[TUT+] Hướng dan tao, chinh sua template blogspot ( phan 9 ) - footer
[TUT+] Hướng dẫn tạo, chỉnh sửa templates blogspot ( phần 7 ) - feedburner

     Trước hết là cái random post, cái này giúp người đọc có thể xem được những bài cũ mà họ chưa đọc. Các bạn tạo một cái HTML/JavaScript, chèn code này vào:

<style>#random-posts img{float:left;margin-right:10px;border:1px solid #999;background:#FFF;width:36px;height:36px;padding:3px}
</style>

<ul id='random-posts'>
<script type='text/javaScript'>
var rdp_numposts=5;
var rdp_snippet_length=150;
var rdp_info='yes';
var rdp_comment='Nhận xét';
var rdp_disable='Tắt Nhận xét';
var rdp_current=[];var rdp_total_posts=0;var rdp_current=new Array(rdp_numposts);function totalposts(json){rdp_total_posts=json.feed.openSearch$totalResults.$t}document.write('<script type=\"text/javascript\" src=\"/feeds/posts/default?alt=json-in-script&max-results=0&callback=totalposts\"><\/script>');function getvalue(){for(var i=0;i<rdp_numposts;i++){var found=false;var rndValue=get_random();for(var j=0;j<rdp_current.length;j++){if(rdp_current[j]==rndValue){found=true;break}};if(found){i--}else{rdp_current[i]=rndValue}}};function get_random(){var ranNum=1+Math.round(Math.random()*(rdp_total_posts-1));return ranNum};
</script>
<script type='text/javaScript'>
function random_posts(json){a=location.href;y=a.indexOf('?m=0');for(var i=0;i<rdp_numposts;i++){var entry=json.feed.entry[i];var rdp_posttitle=entry.title.$t;if('content'in entry){var rdp_get_snippet=entry.content.$t}else{if('summary'in entry){var rdp_get_snippet=entry.summary.$t}else{var rdp_get_snippet="";}};rdp_get_snippet=rdp_get_snippet.replace(/<[^>]*>/g,"");if(rdp_get_snippet.length<rdp_snippet_length){var rdp_snippet=rdp_get_snippet}else{rdp_get_snippet=rdp_get_snippet.substring(0,rdp_snippet_length);var space=rdp_get_snippet.lastIndexOf(" ");rdp_snippet=rdp_get_snippet.substring(0,space)+"&#133;";};for(var j=0;j<entry.link.length;j++){if('thr$total'in entry){var rdp_commentsNum=entry.thr$total.$t+' '+rdp_comment}else{rdp_commentsNum=rdp_disable};if(entry.link[j].rel=='alternate'){var rdp_posturl=entry.link[j].href;if(y!=-1){rdp_posturl=rdp_posturl+'?m=0'}var rdp_postdate=entry.published.$t;if('media$thumbnail'in entry){var rdp_thumb=entry.media$thumbnail.url}else{rdp_thumb="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0RlzX2BivZIk3ZOwZxTiyq3FLM-Mj_1amDAbBok1B3-P_RXcOtvyu9h15PKJ4jI1TpVDZm0nzOK0tIfC_XgEYlBWL6-Cppb3EuWJRfeWdxsfjNy0GsKSzkXx8UwqwDtpXYxo24i0aOMMn/"}}};document.write('<li>');document.write('<img alt="'+rdp_posttitle+'" src="'+rdp_thumb+'"/>');document.write('<div><a href="'+rdp_posturl+'" rel="nofollow" title="'+rdp_snippet+'">'+rdp_posttitle+'</a></div>');if(rdp_info=='yes'){document.write('<span>'+rdp_postdate.substring(8,10)+'/'+rdp_postdate.substring(5,7)+'/'+rdp_postdate.substring(0,4)+' - '+rdp_commentsNum)+'</span>'}document.write('<div style="clear:both"></div></li>')}};getvalue();for(var i=0;i<rdp_numposts;i++){document.write('<script type=\"text/javascript\" src=\"/feeds/posts/default?alt=json-in-script&start-index='+rdp_current[i]+'&max-results=1&callback=random_posts\"><\/script>')};
</script>
</ul>

Trong đó:
  • 5 là số bài viết bạn muốn hiển thị
  • 150 là số ký tự của đoạn trích dẫn nội dung bài đăng. 
  • Nếu không muốn hiển thị thông tin ngày tháng đăng bài và số nhận xét hãy thay yes thành ký tự bất kỳ khác.
  • Link màu đỏ là link ảnh thay thế cho bài viết không có ảnh thumbnail.
Việc còn lại là ở các bạn thôi, các bạn có thể tùy chỉnh sao cho vừa ý thì thôi.

     Còn đây là code của thằng "Bài viết mới nhất", đọc tới bài này rồi thì các bạn cũng đã quen với blogspot rồi nên mình không hướng dẫn kỹ nữa:

<style type='text/css'>
img.recent_thumb {padding:1px;width:60px;height:60px;border:0;
float:left;margin-right:10px;border:1px solid #999;}
.recent_posts_with_thumbs {float:left;width: 100%;min-height: 70px;padding: 0;font-size:12px;}
ul.recent_posts_with_thumbs li {padding-bottom:5px;padding-top:5px;min-height:65px;}
.recent_posts_with_thumbs a {text-decoration:none;}
.recent_posts_with_thumbs strong {font-size:10px;}</style>
<script style='text/javascript'>

function showrecentpostswiththumbs(json){document.write('<ul class="recent_posts_with_thumbs">');for(var i=0;i<numposts;i++){var entry=json.feed.entry[i];var posttitle=entry.title.$t;var posturl;if(i==json.feed.entry.length)break;for(var k=0;k<entry.link.length;k++){if(entry.link[k].rel=='replies'&&entry.link[k].type=='text/html'){var commenttext=entry.link[k].title;var commenturl=entry.link[k].href;}
if(entry.link[k].rel=='alternate'){posturl=entry.link[k].href;break;}}var thumburl;try{thumburl=entry.media$thumbnail.url;}catch(error)
{s=entry.content.$t;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!="")){thumburl=d;}else thumburl='http://www.webaholic.co.in/other/no-image.jpg';}
var postdate=entry.published.$t;var cdyear=postdate.substring(0,4);var cdmonth=postdate.substring(5,7);var cdday=postdate.substring(8,10);var monthnames=new Array();monthnames[1]="Jan";monthnames[2]="Feb";monthnames[3]="Mar";monthnames[4]="Apr";monthnames[5]="May";monthnames[6]="Jun";monthnames[7]="Jul";monthnames[8]="Aug";monthnames[9]="Sep";monthnames[10]="Oct";monthnames[11]="Nov";monthnames[12]="Dec";document.write('<li class="clearfix">');if(showpostthumbnails==true)
document.write('<img class="recent_thumb" src="'+thumburl+'"/>');document.write('<b><a href="'+posturl+'" target ="_top">'+posttitle+'</a></b><br>');if("content"in entry){var postcontent=entry.content.$t;}
else
if("summary"in entry){var postcontent=entry.summary.$t;}
else var postcontent="";var re=/<\S[^>]*>/g;postcontent=postcontent.replace(re,"");if(showpostsummary==true){if(postcontent.length<numchars){document.write('<i>');document.write(postcontent);document.write('</i>');}
else{document.write('<i>');postcontent=postcontent.substring(0,numchars);var quoteEnd=postcontent.lastIndexOf(" ");postcontent=postcontent.substring(0,quoteEnd);document.write(postcontent+'...');document.write('</i>');}}
var towrite='';var flag=0;document.write('<br><strong>');if(showpostdate==true){towrite=towrite+monthnames[parseInt(cdmonth,10)]+'-'+cdday+' - '+cdyear;flag=1;}
if(showcommentnum==true)
{if(flag==1){towrite=towrite+' | ';}
if(commenttext=='1 Comments')commenttext='1 Comment';if(commenttext=='0 Comments')commenttext='No Comments';commenttext='<a href="'+commenturl+'" target ="_top">'+commenttext+'</a>';towrite=towrite+commenttext;flag=1;;}
if(displaymore==true)
{if(flag==1)towrite=towrite+' | ';towrite=towrite+'<a href="'+posturl+'" class="url" target ="_top">More -></a>';flag=1;;}
document.write(towrite);document.write('</strong></li>');if(displayseparator==true)
if(i!=(numposts-1))
document.write('<hr size=0.5>');}document.write('</ul>');}

</script>
<script style='text/javascript'>
var numposts = 5;     // số bài
var showpostthumbnails = true;     // hiện ảnh thumbnail
var displaymore = false;     // không hiển thị read more
var displayseparator = true;
var showcommentnum = false;     // hiển thị số comment
var showpostdate = false;     // hiển thị ngày tháng
var showpostsummary = true;     // hiển thị trích dẫn
var numchars = 100;     //số ký tự trích dẫn

</script>
<script src='/feeds/posts/default?orderby=published&alt=json-in-script&callback=showrecentpostswiththumbs'></script>


     Mình xin dừng phần widget ở đây, các bạn có thể tìm kiếm thêm nhiều widget hay code HTML hay ở trên mạng hay có thể tìm trong web của mình. Trong bài tiếp theo mình sẽ chỉnh sửa cái comment và cái footer, các bạn chú ý theo dõi nhé.

     Chúc các bạn thành công và có blog đẹp.
Read More

29 tháng 6, 2014

[TUT+] Hướng dẫn tạo, chỉnh sửa templates blogspot ( phần 6 ) - search box

[TUT+] Hướng dẫn tạo, chỉnh sửa templates blogspot ( phần 6 )

     Tiếp theo bài viết hôm nay mình sẽ làm cái search google cho web, thường thì blog sẽ sử dụng google custom search nhưng mình thấy cái này có 2 nhược điểm mà mình không thích đó là xấu và load chậm mà load chậm thì ảnh hưởng tới SEO ( nghe nói vậy! ). Tại sao xấu, tại vì cái mã script mà google cung cấp cho nó giống với mấy cái search button và like đấy, rất khó để chèn code CSS vào, lại còn cái kết quả hiển thị nó mới thậm tệ chứ. Còn tại sao load chậm, cái này thì hiển nhiên như trái đất quay quanh mặt trời, vì nó là Java Script, một số bạn đã tìm hiểu về vấn đề này thì có thể phản bác rằng có thể lấy cái ID của nó chèn vào code HTML của mình nhưng không thể cải thiện được cái cách nó trả kết quả. Nhưng nếu các bạn vẫn muốn biết cách này có thể để lại commend, mình có thể sẽ làm một bài về chủ đề này.

[TUT+] Hướng dẫn tạo, chỉnh sửa templates blogspot ( phần 7 ) - feedburner
[TUT+] Hướng dẫn tạo, chỉnh sửa templates blogspot ( phần 5 ) - main-post

     Vậy cách của mình thế nào, cũng chẳng có gì đâu, các bạn chọn "Bố cục", chọn vị trí đặt rồi chọn tiện ích HTML/Javascript, các bạn pate code này vào:

<form method="get" id="searchform" action="/search">
<table width="100%">
<tr>
<td><input type="text" style="width:98%;padding:2px;" value="Search this blog..." onfocus="if (this.value == &quot;Search this blog...&quot;) {this.value = &quot;&quot;}" onblur="if (this.value == &quot;&quot;) {this.value = &quot;Search this blog...&quot;;}" name="q" id="sbox" class="sbox" /></td>
<td width="75px"><input type="button" value="Search" id="sbutton" class="sbutton" alt="" /></td>
</tr>
</table>
</form>


Các bạn tự code CSS nhé.

Tiếp nhé, chắc các bạn không còn xa lạ gì với mục "bài đăng phổ biến" nữa, trên trang nào mà chẳng có cái này, nó cung cấp cho người dùng những bài đăng phổ biến và được nhiều người quan tâm. Để tạo mục này trong blog của bạn không hề khó, các bạn vào "Bố cục", "Thêm tiện ích", chọn tiện ích "Bài đăng phổ biến" và lưu lại. Cái này các bạn có thể chọn một số thứ như số bài đăng, cách thức hiển thị, bài phổ biến theo ngày, tháng,.. Các bạn cũng có thể tùy biến nó bằng cách sử dụng CSS hay thay đổi kích thước ảnh thumbnail đi, nếu bạn chưa thỏa mãn thì có thể thay đổi trực tiếp code của nó để có được các dạng slider, tab nhưng yêu cầu time và bạn phải khá giành rồi.

Trong bài viết tiếp theo sẽ là một số widget quan trọng khác, các bạn chú ý đón đọc nhé!
Read More
x