Showing posts with label Blogger. Show all posts
Showing posts with label Blogger. Show all posts

Thursday, May 22, 2014

Bài viết mới trượt ngang cho blogger

Bài viết mới trượt ngang cho blogger

Để bắt đầu tạo slider bài viết mới trượt ngang cho blogger thì trướt tiên chúng ta kiểm tra xem blog đã có thư viện javascript hay chưa, nếu chưa có thì chèn link dưới đây vào trong cặp thẻ <header>Chèn vào chổ này </header>, như vậy là blog đã có thư viện  javascript và chúng ta thực hiện tiếp các phần tiếp theo.

 
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js' type='text/javascript'/>
Tiếp theo chúng ta chèn đoạn code bên dưới đây:

<script type='text/javascript'>
//<![CDATA[
(function($){$.fn.jCarouselLite=function(o){o=$.extend({btnPrev:null,btnNext:null,btnGo:null,mouseWheel:false,auto:null,speed:200,easing:null,vertical:false,circular:true,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null},o||{});return this.each(function(){var running=false,animCss=o.vertical?"top":"left",sizeCss=o.vertical?"height":"width";var div=$(this),ul=$("ul:first",div),tLi=$(".car",ul),tl=tLi.size(),v=o.visible;if(o.circular){ul.prepend(tLi.slice(tl-v-1+1).clone()).append(tLi.slice(0,v).clone());o.start+=v;}
var li=$(".car",ul),itemLength=li.size(),curr=o.start;div.css("visibility","visible");li.css({overflow:"hidden",float:o.vertical?"none":"left"});ul.css({padding:"0",position:"relative","list-style-type":"none","z-index":"1"});div.css({overflow:"hidden","z-index":"2"});var liSize=o.vertical?height(li):width(li);var ulSize=liSize*itemLength;var divSize=liSize*v;li.css({width:li.width()});ul.css(sizeCss,ulSize+"px").css(animCss,-(curr*liSize));div.css(sizeCss,divSize+"px");if(o.btnPrev)
$(o.btnPrev).click(function(){return go(curr-o.scroll);});if(o.btnNext)
$(o.btnNext).click(function(){return go(curr+o.scroll);});if(o.btnGo)
$.each(o.btnGo,function(i,val){$(val).click(function(){return go(o.circular?o.visible+i:i);});});if(o.mouseWheel&&div.mousewheel)
div.mousewheel(function(e,d){return d>0?go(curr-o.scroll):go(curr+o.scroll);});if(o.auto)
setInterval(function(){go(curr+o.scroll);},o.auto+o.speed);function vis(){return li.slice(curr).slice(0,v);};function go(to){if(!running){if(o.beforeStart)
o.beforeStart.call(this,vis());if(o.circular){if(to<=o.start-v-1){ul.css(animCss,-((itemLength-(v*2))*liSize)+"px");curr=to==o.start-v-1?itemLength-(v*2)-1:itemLength-(v*2)-o.scroll;}else if(to>=itemLength-v+1){ul.css(animCss,-((v)*liSize)+"px");curr=to==itemLength-v+1?v+1:v+o.scroll;}else curr=to;}else{if(to<0||to>itemLength-v)return;else curr=to;}
running=true;ul.animate(animCss=="left"?{left:-(curr*liSize)}:{top:-(curr*liSize)},o.speed,o.easing,function(){if(o.afterEnd)
o.afterEnd.call(this,vis());running=false;});if(!o.circular){$(o.btnPrev+","+ o.btnNext).removeClass("disabled");$((curr-o.scroll<0&&o.btnPrev)||(curr+o.scroll>itemLength-v&&o.btnNext)||[]).addClass("disabled");}}
return false;};});};function css(el,prop){return parseInt($.css(el[0],prop))||0;};function width(el){return el[0].offsetWidth+ css(el,'marginLeft')+ css(el,'marginRight');};function height(el){return el[0].offsetHeight+ css(el,'marginTop')+ css(el,'marginBottom');};})(jQuery);
//]]>
</script>

<script type='text/javascript'>
//<![CDATA[
imgr = new Array();
imgr[0] = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKuuen58qHnszB9JpchPJcb17JyL8si8SXxMHpOyuOtIGjW41VZvNPzrFDVdeTmF8o-xSGh_sOYKxXxaykASIzoKojA-Y-B8gwt4aF-xka_LuehguC_wLuLg9vwmHcCfBx8dxRJjhN8t0/s1600/no+image.jpg";
showRandomImg = true;
aBold = true;
summaryPost = 150;
summaryTitle = 30;
numposts1 = 12;

function removeHtmlTag(strx,chop){
var s = strx.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,chop-1);
return s;
}
function showrecentposts(json) {
j = (showRandomImg) ? Math.floor((imgr.length+1)*Math.random()) : 0;
img = new Array();
document.write('<ul>');
for (var i = 0; i < numposts1; i++) {
var entry = json.feed.entry[i];
var posttitle = entry.title.$t;
var pcm;
var posturl;
if (i == json.feed.entry.length) break;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
posturl = entry.link[k].href;
break;
}
}

for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'replies' && entry.link[k].type == 'text/html') {
pcm = entry.link[k].title.split(" ")[0];
break;
}
}

if ("content" in entry) {
var postcontent = entry.content.$t;}
else
if ("summary" in entry) {
var postcontent = entry.summary.$t;}
else var postcontent = "";
postdate = entry.published.$t;
if(j>imgr.length-1) j=0;
img[i] = imgr[j];
s = postcontent ; 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;
//cmtext = (text != 'no') ? '<i><font color="'+acolor+'">('+pcm+' '+text+')</font></i>' : '';
var month = [1,2,3,4,5,6,7,8,9,10,11,12];
var month2 = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var day = postdate.split("-")[2].substring(0,2);
var m = postdate.split("-")[1];
var y = postdate.split("-")[0];
for(var u2=0;u2<month.length;u2++){
if(parseInt(m)==month[u2]) {
m = month2[u2] ; break;
}
}

var daystr = day+ ' ' + m + ' ' + y ;
var trtd = '<li class="car"><div class="thumb"><a href="'+posturl+'"><img width="100" height="90" class="alignnone" src="'+img[i]+'"/></a></div><h5>'+daystr+'</h5><a class="slider_title" href="'+posturl+'">'+posttitle+'</a></li>';

document.write(trtd);
j++;
}
document.write('</ul>');
}
//]]>
</script>

Bây giờ là đến phần nội dung hiển thị ra ngoài blog, chúng ta tìm chổ thích hợp để dán đoạn code này vào, thường thì ngay phía dưới menu.


<b:if cond='data:blog.pageType != &quot;item&quot;'>
<!-- /.columns-inner -->
<div class='columns-inner'>
 <!-- #carousel --> 
 <div id='carousel'>
 <div id='previous_button'/>
 <div class='container'> 
 <script>
 document.write(&quot;&lt;script src=\&quot;/feeds/posts/default/?max-results=&quot;+numposts1+&quot;&amp;orderby=published&amp;alt=json-in-script&amp;callback=showrecentposts\&quot;&gt;&lt;\/script&gt;&quot;);
 </script> 
 <div class='clear'/>
 </div>
 <div id='next_button'/>
 </div><!-- /#carousel --> 
 
 <script type='text/javascript'>
 (function($) {
 $(document).ready(function(){
 $(&quot;#carousel .container&quot;).jCarouselLite({
 auto:4000,
 scroll: 1,
 speed: 800, 
 visible: 4,
 start: 0,
 circular: true,
 btnPrev: &quot;#previous_button&quot;,
 btnNext: &quot;#next_button&quot;
 });
 })})(jQuery) 
 </script>
</div>
<!-- /.columns-inner -->
</b:if>
Qua ba bước trên thì xem như xong phần nội dung, và chúng ta sẽ css cho nó bằng đoạn code bên dưới đây, chúng ta dán vào trong cặp thẻ <b:skin><![CDATA[/* Css dán trong chổ này ]]></b:skin> và bạn có thể tinh chỉnh màu mè hay rộng hẹp gì thì tùy ý bạn.

/* Carousel trượt ngang 
-------------------------------------------*/
#carousel{width:980px;height:122px;border: 1px solid #D2D1CE;box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);position:relative;display:block;background:#44BBB6;margin-bottom:8px}
#carousel h5{color:#555;margin:2px;font-style:italic}
#carousel .container{position:absolute;left:24px;width:960px;height:125px;overflow:hidden}
#carousel .thumb{float:left;margin-right:5px;}
#carousel #previous_button{position:absolute;width:24px;height:125px;background:url(http://1.bp.blogspot.com/-ILOqN5E6IRU/U33APjkOicI/AAAAAAAAAjs/VHHRyZ4W1Vg/s1600/previous.png) center;z-index:100;cursor:pointer}
#carousel #next_button{position:absolute;right:0;width:24px;height:125px;background:url(http://4.bp.blogspot.com/-gunY_jzgBKk/U33APpYq-5I/AAAAAAAAAjw/4BjJmufVoL8/s1600/next.png) center;z-index:100;cursor:pointer}
#carousel #next_button:hover,#carousel .thumb:hover,#carousel #previous_button:hover{filter:alpha(opacity=70);opacity:.7}
#carousel ul{width:100000px;position:relative;margin-top:10px}
#carousel ul li{background:#ebebeb;display:inline;float:left;text-align:left;font:bold 12px Arial;border:0px solid #ccc;width:212px;height:90px;margin:0 2px 15px 6px;padding:6px}
#carousel ul li a.slider_title{color:#333;text-decoration:none;display:block;margin-top:5px;padding-top:0}
#carousel ul li a.slider_title:hover{color:#1b5d97}
#carousel a img{display:block;background:#fff;margin-top:0}

Vậy là chúng ta đã tạo thành công bài viết mới trượt ngang cho blogger rồi đó.

Sunday, February 9, 2014

Thêm Author box tự động cho blogger

Thêm Author box tự động cho blogger

Từ giờ những thay đổi profile như sửa ảnh đại diện, thêm bớt thông tin hoặc blog có thêm nhiều cộng tác viên thì Author box sẽ tự động cập nhật theo mà bạn không còn phải vào chỉnh sửa thủ công trong template nữa. Hai thẻ <data:post.authorPhoto.url/><data:post.authorAboutMe/> chính là url ảnh đại diện và thông tin giới thiệu về người viết bài được lấy từ Blogger profile hoặc Google profile. Hơn thế nữa Author box này còn phân biệt được người viết bài đang dùng Blogger profile hay đã nâng cấp lên Google profile để hiển thị icon tương ứng bên cạnh tên tác giả.

Đầu tiên là bật chức năng xem thông tin người viết bài: Bạn vào bố cục, chọn chỉnh sửa widget Blog Posts và tích chọn vào nút Hiển thị tiểu sử tác giả bên dưới bài đăng. (Hình 1)


Bước 2: Bạn vào phần chỉnh sửa html trong template của bạn, di chuyển xuống tìm thẻ <div class='post-footer'> Thông thường thì bên trong thẻ post footer có 3 thẻ:
<div class="post-footer-line post-footer-line-1">1</div>
<div class="post-footer-line post-footer-line-2">Cho code vào đây</div>
<div class="post-footer-line post-footer-line-3">3</div>
Bạn thêm code bên khung dưới đây vào thẻ thứ 2.

<b:if cond='data:blog.pageType == "item"'>
<style type="text/css">
.author-box{margin:10px 0;background:#357ae8}.author-avatar{float:left;width:20%;height:auto}.author-info{float:left;padding-left:4%;width:75%}.author-name{padding-left:25px;color:#eee!important}.author-name h3{display:inline;margin:0;padding:0;font-size:20px}.author-about{margin:0;padding:10px 0;color:#000!important}
</style>
<div class='author-box'>
 &lt;img alt='<data:post.author/>' class='author-avatar' src='<b:if cond='data:post.authorPhoto.url'><data:post.authorPhoto.url/><b:else/>https://lh3.googleusercontent.com/uFp_tsTJboUY7kue5XAsGA=s96</b:if>' title='<data:post.author/>'/&gt;
 <div class='author-info'>
 &lt;a class='author-name' style='background:left no-repeat url(<b:if cond='data:post.authorProfileUrl'>http://www.google.com/images/icons/ui/gprofile_button-16.png)' href='<data:post.authorProfileUrl/><b:else/>http://www.blogger.com/img/logo-16.png)' href='<data:post.authorUrl/></b:if>' rel='author' target='_blank' title='<data:top.authorLabel/>&amp;nbsp;<data:post.author/>'&gt;<h3><data:post.author/></h3>&lt;/a&gt;
 <b:if cond='data:post.authorAboutMe'>
  <p class='author-about'><data:post.authorAboutMe/></p>
 </b:if>
</div>
<div style='clear:both'/>
</div>
</b:if>

Trong đó dấu &lt; và &gt; là để thay cho dấu < và >, đây là phương pháp rút gọn code, tag <b:if> đặt được vào trong tag <img>  nhờ đó code trở nên ngắn gọn hơn. Xong rồi bây giờ bạn sẽ có được kết quả như (Hình 2)

Friday, January 31, 2014

Tạo menu cố định khi cuộn trang

Tạo menu cố định khi cuộn trang

Hôm nay blog Thiết bị điện máy xin chia sẻ với các bạn cách tạo Menu cố định khi cuộn trang chỉ với vài dòng code rất đơn giản. Trước tiên các bạn hãy xem website blog của mình đã có thư viện jquery hay chưa. Nếu chưa có các bạn dán đường link bên dưới vào trước thẻ đóng </header> để sử dụng thư viện jquery.

<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js' type='text/javascript'></script> 

Tạo menu cố định khi cuộn trang

Khi bạn đã dán link bên trên vào phần header của blog thì bạn đã có thư viện jquery của google rồi. Bây giờ mình tạo một đoạn code html đơn giản như bên dưới đây cho menu để bạn dể hình dung.

<nav id="nav" class="nav">
    <ul>
        <li><a href="">Home</a></li>
        <li><a href="">About</a></li>
        <li><a href="">Học PHP</a></li>
        <li><a href="">SEO</a></li>
        <li><a href="">jQuery</a></li>
        <li><a href="">Wordpress</a></li>
        <li><a href="">Blogger</a></li>
    </ul>
</nav> 

Bây giờ bạn cho đoạn css này vào để cho menu thành hình, nếu là blogger thì bạn cho vào cặp thẻ <b:skin><![CDATA[/* Cho css vào đây ]]></b:skin> ngay chổ mấy chữ mình bôi màu đỏ ấy, còn nếu bạn đang sử dụng wordpress thì cho vào file style.css của theme, tuy nhiên trong bài này là đoạn html và css chỉ để làm mẫu thôi nên không được đẹp, nếu bạn muốn đẹp và mượt mà hơn thì bạn chỉnh lại css và thêm thắt gì đó cho đẹp hơn và hợp với blog của bạn. Xem demo tại Cáp điện dân dụng

.nav{ background: #000;height: 40px; line-height:40px }
.scrollq{ z-index: 9999; position: fixed; left: 0; top: 0; width: 100%;}
.nav ul { list-style: none; }
.nav ul li{float: left; padding: 0px 10px;}
.nav ul li a { color:#fff}

Để cho menu nằm cố định khi cuộn trang lên thì bạn cho tiếp đoạn code này vào, đoạn javascript này kết hợp với đoạn css mình bôi màu xanh ở trên chính là hiệu ứng fixed cho menu nằm cố định khi bạn cuộn trang. Con số 100 mà mình đã bôi màu xanh ở bên dưới chính là giá trị khoảng cách tính từ vị trí của menu đến top của blog, khi bạn cuộn trang qua vị trí này thì menu sẽ nhận class "scrollq" cố định cho menu của mình ở vị trí top theo class "scrollq"

<script type="text/javascript">

jQuery("document").ready(function($){

 var nav = $('.nav');

 $(window).scroll(function () {
  if ($(this).scrollTop() > 100) {
   nav.addClass("scrollq");
  } else {
   nav.removeClass("scrollq");
  }
 });

});

</script>

Nếu bạn sử dụng blogger thì đến đây là bạn đã hoàn thành rồi, nhưng nếu bạn sử dụng wordpress thì bạn thêm code javascript này vào theme của website bằng cách sửa lại các class cho đúng với class trong theme của bạn và lưu lại với dạng file fixed.js rồi upload lên thư mục (folder) js trong theme của bạn. Tiếp theo thêm code php bên dưới vào file functions.php rồi lưu lại.

/** Add link script menu keep top**/
add_action('wp_enqueue_scripts','fixed_menu_top');
function fixed_menu_top () {
wp_enqueue_script( 'custom-script-menu', get_stylesheet_directory_uri() . '/fixed-menu.js',array( 'jquery' ) );
}

Đến đây là bạn đã hoàn thành và bạn Restart lại trình duyệt để xem kết quả.

Chúc bạn thực hiện thành công!

Monday, November 4, 2013

Nhúng Google+ Badge vào website

Nhúng Google+ Badge vào website

Google Badge
Hiện nay có rất nhiều website, blog đã sử dụng tính năng Follower của google để tiếp cận người dùng. Để làm được việc này thì trước tiên bạn phải có một trang google+ thật ấn tượng, có ảnh avatar, ảnh nền đẹp và liên quan đến lĩnh vực của mình. Điều này rất quan trọng, nó sẽ gây ấn tượng tốt đối với mọi người khi họ xem trang của bạn, và họ sẽ quyết định xem có nên follow bạn hay không? Bạn điền thông tin theo mẫu của google để đăng ký, hoàn thiện các thông tin cần thiết cho trang của bạn như Tên, mô tả, thông tin liên hệ, các liên kết email và liên kết trang web, bạn nên điền ngắn gọn nhưng chứa đủ nội dung cần thiết.

Sau khi tạo trang xong thì bạn nhúng Google+ Badge vào website hoặc blog của bạn. Việc này làm cho người dùng dễ dàng follow bạn và +1 cho trang của bạn hơn. Mình hướng dẫn bạn tạo nút Google+ Badge như sau. Truy cập vào theo link sau để tạo Google Badge: https://developers.google.com/+/web/badge Nếu bạn không biết tiếng anh thì bấm vào mục ngôn ngữ ( Eglish ) để chọn tiếng việt. Phía menu bên trái là một list các loại button cho bạn lựa chọn, có rất nhiều loại, nếu bạn thích một nút đơn giản thì bạn nhấn vào Follow button, nếu thích nút có hình ảnh kèm theo đẹp thì bạn nhấn vào Badge. Lúc này ở menu chính giữa có một list cho bạn thiết kế.

1. Người dùng Google+ là để bạn chọn trang, cái này dành cho bạn có nhiều trang.
2. Chọn cái này thì chỉ có cái biểu tượng thôi
3. Bố cục là chọn ngang hay dọc
4. Tối đa 1600 cái thanh này là canh độ rộng
5. Chủ đề màu, chọn sáng hoặc tối
6. Ảnh bìa, chọn sử dụng ảnh bìa
7. Khẩu hiệu cá nhân, bật cái này thì sẽ hiển thị câu khẩu hiệu cá nhân. Dưới cùng là tùy chọn nâng cao, nếu bạn thích thì sử dụng luôn. Sau khi bạn chỉnh xong thì copy code ở khung dưới, blogger thì vào bố cục, tạo 1 widgets rồi dán code vào, lưu lại là xong. Và đây là demo mình đã làm cho trang Bơm Franklin của mình các bạn ghé xem thử trước khi làm nhé. Nếu có thể thì cộng cho một cái để ủng hộ.

Khi hoàn thiện, bạn hãy giới thiệu nó cho các bạn bè của bạn, người quen và đối tác biết về sự hiện diện của nó. Có thể chia sẻ qua Email, các trang mạng xã hội như: Facebook, twitter, Linkin vv… Đồng thời cũng viết bài giới thiệu trên website của bạn để những người truy cập web và quan tâm đến bạn sẽ follow bạn. Điều cốt lõi và bền vững nhất là bạn phát triển nội dung trang Google+ của bạn thật thú vị Hiện xu hướng người dùng mạng xã hội là họ thích sự thú vị, vui vẻ và hấp dẫn. Hãy xây dựng nội dung trang Google plus của bạn theo xu hướng đó, bạn sẽ nhận được sự chú ý của nhiều người.

Wednesday, October 23, 2013

Tạo sitemap chuẩn cho blogger

Tạo sitemap chuẩn cho blogger

Sitemap của blogger có 2 loại, một loại dùng cho bọ tìm kiếm còn loại thứ 2 thì dùng cho độc giả, tức là người xem blog của mình đấy. Hôm nay mình sẽ hướng dẫn loại 1 dùng cho bọ tìm kiếm, còn loại kia thì để từ từ viết sau. Tuy đã có nhiều bài viết hướng dẫn tạo sitemap cho Blogger trên mạng nhưng có nhiều bài hướng dẫn chưa đầy đủ. Mặc định thì số post tối đa mà google đánh chỉ mục dựa vào feed là 25 bài. Có nghĩa là blog của bạn chỉ được Index có 25 bài mới nhất (tại thời điểm google Index blog của bạn). Vậy thì những bài cũ còn lại thì sao? Dĩ nhiên những post cũ của bạn không được index bởi Google sitemap! Và bài này mình hướng dẫn bạn tạo sitemap chuẩn cho blogger của bạn để được index tốt hơn.
Bước 1: Bạn đăng nhập vào Google Webmaster Tools với tào khoản Google mà bạn đã đăng ký blog và click nút Thêm trang web như hình bên dưới.

Tạo sitemap chuẩn cho blogger

Bước 2: Bạn nhập địa chỉ blog của bạn vào ô mẫu ( www.example.com ) ví dụ blog của mình là http://thietbidienmay.blogspot.com/ và Click nút tiếp tục. Đa số các bạn tạo blog với email của google nên mình bỏ qua bước xác minh quyền sở hữu tên miền, vì bước xác minh này chỉ dành cho host riêng mà thôi, còn blogger thì tự động xác minh luôn rồi.
Bước 3: Trong bước này là quan trọng nhất, bạn vào trang tạo sitemap theo đường dẫn sau đây http://ctrlq.org/blogger/ và nhập địa chỉ blog của vào vào ô theo hình bên dưới để tạo sitemap.

Tạo sitemap chuẩn cho blogger

Tạo xong rồi thì bạn copy toàn bộ nội dung như trong hình và quay về trang quản trị của blogger. Nhấp tên blog >> Nhấp vào nút cài đặt >> Nhấp vào nút Tùy chọn tìm kiếm. Trong giao diện hiện ra tính từ dưới lên bạn chọn dòng có hàng chữ Robots.txt tùy chỉnh và nhấp vào nút Chỉnh sửa. Trong hàng chữ Bật nội dung robots.txt tùy chỉnh? thì bạn tick vào ô có rồi dán tất cả nội dung mà bạn đã copy ở trên vào như hình sau.

Tạo sitemap chuẩn cho blogger

xong thì nhớ nhấp nút Lưu thay đổi nhé bạn. Trong phần nội dung mà bạn đã copy ở bước 3, dòng dưới cùng là: Sitemap: http://thietbidienmay.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=500 thì bạn copy hết phần mình tô màu xanh đó, đề thực hiện bước cuối nhé.

Tạo sitemap chuẩn cho blogger

Bạn quay lại Google Webmaster Tools click chọn Sơ đồ trang web và dán cái dòng màu xanh vào ngay cái mũi tên bên phải như trong hình trên và nhấp nút Gửi sơ đồ trang web, sau khi gửi xong thì nhấp vào chữ làm mới trang. Vậy là chỉ có 3 bước như trên là bạn đã tạo xong một sitemap chuẩn cho blog của bạn rồi đấy. Nếu bài viết có ích thì đừng quên + cho mình cái bạn nhé.

Chúc bạn add Sitemap thành công!

Tuesday, October 15, 2013

Thêm widgets Twitter timeline vào blogger

Thêm widgets Twitter timeline vào blogger

Mặc dù Twitter không phải là mạng xã hội phổ biến với người dùng nhưng đối với dân SEO thì đây vẫn là một kênh đáng để khai thác. Hiển thị Twitter feed hay twitter profile timeline trên blog của bạn có hai lợi ích là Người dùng xem blog dễ dàng kết nối với twitter của bạn từ đó dễ theo dõi cập nhật của bạn hơn và Bạn dễ dàng theo dõi các cập nhật trên twitter từ blog của bạn. Sau đây là các bước cơ bản để thêm widgets Twitter timeline vào blogger.

Bước 1: Truy cập địa chỉ: https://twitter.com/settings/widgets

Thêm widgets Twitter timeline vào blogger

Nhấn Create new và bạn tiến hành điền các thông tin cần thiết vào, bạn điền một số thông tin cơ bản như chiều cao của widget và chọn giao diện sáng hay tối để phù hợp với Blog của bạn, xong bạn nhấn Creat widget. Bên tay phải khung preview sẽ hiện ra code widget của bạn copy code đó nhé.

Thêm widgets Twitter timeline vào blogger
<a class="twitter-timeline"  href="https://twitter.com/dzoanhuy76"  data-widget-id="389013039606812672">Tweets by @dzoanhuy76</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
Bước 2: Bạn tiến hành cho code vừa copy ở bước trên vào blog, mình khuyến khích các bạn sử dụng luôn Google gadget editor để lưu code. Bạn truy cập vào url sau: http://www.google.com/ig/ifr?url=gge.xml Và bạn hãy dán code bạn vừa copy được vào phía sau chữ CDATA. Tiếp thao vào menu File/Save as lưu lại với tên tùy chọn, mình lưu với tên widgets-twitter còn bạn lưu với tên gì thì tùy bạn. Sau khi bạn save xong nhìn sang góc phải phía trên màn hình sẽ thấy file của bạn và bạn Copy url của file.

Bước 3: Vào quản lý blogger của bạn. Chọn cài đặt bố cục, thêm tiện ích, ở bước này thì quá quen thuộc với các bạn rồi nên mình không sử dụng hình ảnh để hướng dẫn nữa, sau khi chọn thêm tiện ích thì một cửa sổ popup hiện lên, bạn chọn mục Thêm miền riêng của bạn và paste url vừa copy vào và nhấp chọn Thêm bằng URL. Như vậy là đã xong rồi đó. Ok bạn trở ra blog và xem thành quả nào.

Cuối cùng là câu quen thuộc là chúc bạn thực hiện thành công!

Saturday, October 12, 2013

Khắc phục lỗi Missing required hCard

Khắc phục lỗi Missing required hCard

Sau khi xác minh quyền tác giả cho blog của blogger thì hay xuất hiện lỗi Warning: Missing required hCard "author"Warning: Missing required field "updated" như vậy nhìn rất xấu xí và khó chịu, kể ra thì bác google cũng khó tính đấy chứ nhỉ. Lang thang trên mạng một hồi cuối cùng thì cũng tìm được cách giải quyết lỗi trên và tiện thể viết ra đây để những bạn nào cũng mắc phải lỗi như vậy thì áp dụng luôn cho đỡ tốn thời gian.

Khắc phục lỗi Missing required hCard

Bước 1: Các bạn đăng nhập vào trang quản trị Blogger và chọn Mẫu.
Bước 2: Bạn chọn Chỉnh sửa HTML và Ctrl+F để hiện thanh search và tìm đến đoạn code <div class='blog-posts hfeed'> bằng cách nhập từ hfeed này vào khung search và nhấn Enter. Sau khi tìm được đoạn code thì bạn hãy xóa chữ hfeed này đi và chỉ chừa lại như thế này: <div class='blog-posts'> nhé. Các bạn lưu ý là trong Template có khoảng  2 đến 3 vị trí của đoạn mã code này, và bạn phải thực hiện điều này ở tất cả các vị trí đó.
Bước 3: Bạn cũng thực hiện y như bước 2 nhưng lần này là đoạn code như sau: <div class='post hentry'> và bạn xóa chữ hentry đi và chỉ còn lại đoạn như sau <div class='post'>. Tiếp theo là đoạn <div class='post hentry uncustomized-post-template'> thì bạn cũng xóa đi chữ hentry chỉ còn lại <div class='post uncustomized-post-template'> thôi nhé.

Trong quá trình sử dụng nhiều Template khác nhau thì có một số không thể áp dụng cách trên được nên mình xin bổ sung thêm một cách nữa đó là tìm đoạn code sau với từ khóa là timestampISO8601
<a class='timestamp-link' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='published update' expr:title='data:post.timestampISO8601'><data:post.timestamp/></abbr></a> 
và thay bằng đoạn code bên dưới đây rồi lưu lại (Lưu ý là có 2 nơi có đoạn code đó)
<a class='updated' expr:href='data:post.url' rel='bookmark' title='permanent link'><abbr class='updated' expr:title='data:post.timestampISO8601'><data:post.timestamp/></abbr></a>
Sau khi bạn thực hiện xong các công đoạn trên thì đến bước thứ tư là bấm Lưu Mẫu lại, hihi... Sau khi lưu thành công rồi thì F5 để Restart lại trình duyệt (Tạm gọi là làm mới trình duyệt) và trở về trang www.google.com/webmasters/tools/richsnippets để kiểm tra kết quả. Nếu cảnh báo như trên không còn xuất hiện nữa thì xin chúc mừng các bạn.

Chúc các bạn thực hiện thành công!

Friday, October 11, 2013

Tạo trang báo lỗi 404 cho blogger

Tạo trang báo lỗi 404 cho blogger

Trong quá trình bạn viết Blog thì chắc chắn sẽ có các link bị hỏng và bị xóa. Và để thân thiện hơn với người dùng khi truy cập đến một trang không tồn tại trong Blog, gần đây google đã hỗ trợ tính năng báo lỗi và chuyển hướng rất hữu ích. Nhưng thay vì bạn phải sử dụng trang báo lỗi với dòng chữ và con số 404 khô khan thì nay mình viết bài này sẽ hướng dẫn các bạn bằng một cách khác để tạo ra trang thông báo lỗi 404 Page Not Found theo ý của mình để thân thiện hơn với độc giả và đồng thời cũng tốt cho việc làm seo của bạn. Và sau đây là cách làm:

Tạo trang báo lỗi 404 cho blogger

Để thiết kế trang báo lỗi thì Template của bạn phải có hàm <b:include data='top' name='status-message'/> và hàm này phải được gọi ra. Hiện nay đa số các Template free của các bạn không có phần này, chỉ những mẫu blog Simple của blogspot mới còn. Bạn vào Template tìm thẻ <b:includable id='main' var='top'> và dán đoạn code dưới đây vào sau nó nhé:
<b:if cond='data:numPosts == 0'>
 <data:navMessage/>
</b:if>
Với blog nào có thẻ như trên rồi thì bỏ qua bước trên. Tiếp theo bạn đăng nhập nhập vào vào blog và nhấn vào Cài đặt (Setting) => Tùy chọn tìm kiếm => ở mục Lỗi và chuyển hướng => bấm vào chỉnh sửa (Trong phần đóng khung màu đỏ như hình trên nhé). Sau khi bấm vào chỉnh sửa thì sẽ hiện ra một cái khung và bạn dán đoạn code dưới đây vào:
<!-- Blogger Yard 404 Page -->
<div style='background:#F5F5F5;border-radius:5px;border: 1px solid #E8E8E8; padding:20px;'>
<p style='line-height: 26px'><strong> <font color='#ff0000' size='5'> Rất tiếc! </font> <br/> <font color='#666666'>
Hình như bạn có nhấp vào một liên kết bị hỏng hoặc một trang không tồn tại. <br/>
Vui lòng thực hiện một trong các nội dung sau: </font></strong></p>
<ol style='line-height: 22px'>
  <li><a href='javascript:history.go(-1)'>&#171; Go Back </a> </li>
  <li>Báo cáo các vấn đề cho chúng tôi <a href='http://thietbidienmay.blogspot.com/p/contact.html'> Bấm vào đây</a>&#160;&#160;&#160;(<em>Để giúp chúng tôi phục vụ bạn tốt hơn</em>) </li>
  <li>Về Trang chủ <a href='http://thietbidienmay.blogspot.com'> Bấm vào đây</a> <br/></li>
  <li>Sử dụng hộp tìm kiếm hoặc bạn tìm trên thanh Menu bên phải</li>
</ol><br />

<center>
  <form _lpchecked='1' action='/search' class='search-form' id='search_mini_form' method='get'>
    <input id='searchinput' name='q' onblur='if (this.value == &apos;&apos;) {this.value = &apos;Type Here & Hit Enter;}' onfocus='if (this.value == &apos;Search the site&apos;) {this.value = &apos;&apos;;}' type='text' value='Type Here & Hit Enter'/>
    <input id='searchbutton' style='vertical-align: top;' type='submit' value='Search!'/>
  </form>
</center>
<p> 
  <br/>
  <br/>
</p>
<p align='center'><font size='5'>Cảm ơn bạn đã ghé thăm Blog!</font></p><br />
<p align='center'> <font style='font-size:150px; font-weight:bold;' color='red'> 404 </font></p>
</div>

<style>
.status-msg-wrap {
    font-size: 100%;
    margin: none;
    position: static;
    width: 100%;
}

.status-msg-border {
    display:none
}

.status-msg-body {
    padding: none;
    position: static;
    text-align: inherit;
    width: 100%;
    z-index: auto;
}

.status-msg-wrap a {
    padding: none;
    text-decoration: inherit;
}

#sidebar-wrapper, #midsidebar-wrapper, .gapad2, .blog-pager, .post-header-line-1, .post-footer, #rsidebar-wrapper { display:none !important;}
#main-wrapper { width:98%!important;} .post { width:98%!important;}

#searchinput {
background: #FFF url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeDVaqmwLGBWLGxt5mw2SbcRz3GFN1L-Na5XifRoCVvoZ4yBbaiy5XsBjMt_cYuwLq40HWnybm6UZPZTxPoOkQ73RACgQYdq1pNRRsJtGuEdMM11UOA08MTH1PfTYhl8SFSPfL-CMro4M2/s0/search.png) no-repeat 7px 8px;
background-color: #FFF;
border: 1px solid #ddd;
color: #A0A0A0;
display: inline-block;
font-family:arial;
font-size: 12px;
font-weight:bold;
height: 22px;
margin-top:1px;
width:300px;
padding: 5px 15px 5px 28px;
vertical-align: top;
}

#searchinput:hover{
border: 1px solid #bebebe;
box-shadow: 0 1px 2px rgba(5, 95, 255, .1);
padding: 5px 15px 5px 28px;
}

#searchbutton {
background:#444;
color:#fff;
height:35px;
border-radius:5px 5px 5px 5px;
border:1px solid #fff;
padding:8px;
}

#searchbutton:hover{background:#555;}
</style>
Xong rồi thì lưu lại và kiểm tra kết quả xem thế nào nhé. Chỉ vài thao tác đơn giản như trên là bạn đã có được ttrang thống báo lỗi cho độc giả của mình rồi đấy, nếu bạn có thể sáng tạo thêm phần hình ảnh cho hấp dẫn người xem thì càng tốt.

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

Sunday, October 6, 2013

Hướng dẫn tạo Contact form cho blogger

Hướng dẫn tạo Contact form cho blogger

Tạo Form liên hệ cho blogger thì có nhiều cách, có rất nhiều hướng dẫn trên mạng, mỗi người mỗi kiểu nhưng đa phần là những hướng dẫn cách dùng form liên hệ của bên thứ ba, cách này nhanh gọn, dể làm nhưng lại bị lệ thuộc, code thì ở nhà người ta, mình chỉ có mỗi dòng Javascript nên muốn chỉnh sửa tùy biến theo ý mình thì không được, cũng có vài dịch vụ cho chỉnh sửa css nhưng nói chung cũng vẫn bị lệ thuộc.

Hiện nay dịch vụ Blogger miễn phí của google vừa bổ sung mẫu form liên hệ chính thức cho người dùng thông qua một tiện ích mới có tên gọi Biểu mẫu liên hệ mới (Contact form), nhưng hạn chế của mẫu form này là chỉ xuất hiện bên sidebar hoặc footer của blog. Đây là một điểm yếu của nền tảng blog này. Form liên hệ thường thì người ta hay đặt trong một trang tĩnh, ở trang đó ghi các thông tin liên hệ như tên Công ty và kèm mẫu form bên dưới. Nếu muốn đặt form bên trong trang theo ý của mình thì đây là bài hướng dẫn sẽ có ích cho bạn. Để sử dụng  form này bạn chỉ cần đăng nhập Blogger > Bố cục > Thêm tiện ích > Tiện ích khác và tiếp tục chọn Biểu mẫu liên hệ.

Hướng dẫn tạo Contact form cho blogger

Sau khi chọn xong thì sẽ xuất hiện tiếp một khung, bạn đặt tên cho form và nhấn nút lưu lại, bây giờ thì bạn đã có form rồi nhưng nó chỉ xuất hiện ngay khu vực bạn tạo thôi chứ chưa có trong trang tĩnh, nếu muốn form xuất hiện trong trang tĩnh thì bạn làm theo các bước tiếp theo bên dưới.

Bạn dán đoạn code này vào trước thẻ đóng body:
<script type='text/javascript'>
//<![CDATA[
  $('.ContactForm').appendTo('.info-contact');
//]]>
</script>
<style type='text/css'>
.ContactForm {
 display: none;
}
.info-contact .ContactForm {
 display: block;
}
.widget.ContactForm .title {
 display: none;
}
.widget.ContactForm * {
 max-width: 100%;
}
.info-contact .contact-form-email, .info-contact .contact-form-name {
max-width: 260px;
}
</style>

Bây giờ bạn tạo ra 1 trang mới (Trang trống) bạn chuyển sang chế độ soạn thảo html dán thẻ div bên dưới vào:
<div class="info-contact"></div>
Xong rồi, Lưu lại và xem kết quả.

Cách thứ 2: Nếu bạn không muốn Contact From xuất hiện trong trang tĩnh mà muốn nó xuất hiện theo kiểu popup ẩn hiện dưới footer thì dùng đoạn code sau và cũng dán vào trước thẻ đóng body. Khi click vào tiêu đề thì from sẽ trượt lên để người dùng nhập văn bản.
<script type='text/javascript'>
//<![CDATA[
$('body').append('<div class="popup_form"><div class="popup_title"><a href="#more">Contact From</a></div><div class="popup_body"></div></div>');
 $('.ContactForm').appendTo('.popup_body');
  var slide_up_from = false;
 $('.popup_title a').click(function(){
  if (!slide_up_from) {
  slide_up_from = true;
   $('.popup_body').slideDown();
  } else {
  slide_up_from = false;
   $('.popup_body').slideUp();
  }
 });
//]]>
</script>
<style type='text/css'>
.ContactForm, .ContactForm .title {
display: none;
}
.popup_form {
position: fixed;
width: 260px;
right: 0;
bottom: 0;
z-index: 999;
}
.popup_title {
text-align: right;
}
.popup_title a {
padding: 5px 10px;
background: #09f;
color: white;
font-weight: bold;
display: inline-block;
*display: block;
zoom: 1;
}
.popup_body {
height: 340px;
background: white;
border: 1px solid #09f;
padding: 10px;
display: none;
}
.popup_body .ContactForm {
margin:0;
display: block!important;
}
.contact-form-email-message {
max-width: 230px;
width: 100%;
}
</style>

Lưu ý: Trong blog của bạn phải có thư viện jquery, nếu chưa có thì bạn bổ sung thêm thư viện jquery và trước thẻ đóng header nhé.

Sau khi thực hiện xong các bước như trên là bạn đã có Form liên hệ cho riêng mình rồi, bạn xem Demo form của mình Tại đây. Nếu bạn thực hiện có gặp khó khăn thì có thể liên hệ với mình nhé, trong trường hợp không cần xài from thì cũng nên vọc cho biết chứ nhỉ?

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