Theo yêu cầu của 1 số bạn nhờ mình hướng dẫn cách đăng bài theo từng chuyên mục với nhãn riêng biệt .Hôm nay mình sẽ hướng dẫn cho các bạn cách thiết kế giao diện trang chủ của bạn theo phong cách báo chí (magazine). Bài viết này được tác giả Võ Quốc An viết khá lâu rồi và có nhiều bạn làm theo nhưng vẫn chưa thực hiện được.Nên mình sẽ hướng dẫn cụ thể hơn và có tùy chỉnh lại css nên tiện ích trông bắt mắt hơn.Blog của bạn sẽ nhìn chuyên nghiệp với các mục bài viết mới nhất và bài viết hiển thị theo nhãn (label) mà bạn muốn hiển thị.
1. Chèn đoạn css sau phía trên thẻ ]]></b:skin>
/*Chinhtrucblog.blogspot.com Magazine with 2 box */
.boxhome{width:680px}.boxhome ul {margin:0; padding:0}
.box1, .box2{box-shadow:0 1px 3px 0 rgba(0, 0, 0, 1);}
.box1{border-top: 0px solid #D0D0D0; border-right: 0px solid #D0D0D0; border-bottom: 1px solid #ECEDE8;border-left: 0px solid #D0D0D0;border-radius:2px;}
.box2, .box3{border-top: 1px solid #DBDBDB; border-right: 0px solid #D0D0D0; border-bottom: 1px solid #DBDBDB;border-left: 0px solid #D0D0D0;border-radius:0 15px;}
.box1{margin-bottom:1px;overflow:hidden;}
.box1-left{width:300px; float:left; height:370px;border-right: #ABABAB 1px dashed; padding:10px}
.box1-left h2 {margin-bottom:5px}
.box1-left img{margin-bottom:5px; height:230px; width:270px}
.box1-right{height:60px; width:300px; float:right; padding: 10px; line-height:20px;border-bottom: #ABABAB 1px dashed; }
.box2-right:hover, .box1-right:hover {background:#c2361c;}
.box2-right:hover a , .box1-right:hover a {color: #fff; text-shadow:1px 1px 3px #000}
.box1-right img {float:left; height:49px; width:72px; margin-right:10px}
.box2{margin-top:15px; overflow:hidden}
.box2-left{width:330px; float:left; height:170px; padding:10px; border-right:#ABABAB 1px dashed; }
.box2-left a{font-weight:bold;}
.box2-left img{margin-right:5px; height:100px; width:160px;float:left}
.box2-right{height:50px; width:285px; float:right; border-bottom:#ABABAB 1px dashed; padding:5px; line-height:15px;}
.box2-right img {float:left; height:37px; width:48px; margin-right:5px}
.box1-left-info, .box2-left-info{ text-align:justify;}
.box1-googlesearch{width:650px;float:left}
.menu{overflow: hidden; width: 100%; border-bottom:1px solid #c2361c; background:#eee;}
.menu li{float: left; list-style: none;}
.menu a{padding: 5px 5px 5px 25px; float: left; text-decoration: none; position: relative;}
.menu li:first-child a{padding-left: 15px; background:#007ABE; color:#eee}
.menu li:first-child a::after{border-left-color: #007ABE;color:#FFFFFF}
.menu li:first-child a:hover{background:#c2361c; color:#fff}
.menu li:first-child a:hover::after { border-left-color: #c2361c;}
.menu a:hover{background: #c2361c;}
.menu a::after, .menu a::before{content: ""; position: absolute; top: 50%; margin-top: -1.5em; border-top: 1.5em solid transparent; border-bottom: 1.5em solid transparent; border-left: 1em solid; right: -1em;}
.menu a::after{z-index: 2; border-left-color: #eee;}
.menu a::before{border-left-color: #888; right: -1.1em; z-index: 1; }
.menu a:hover::after{ border-left-color: #c2361c;}
- Các bạn thay đổi kích thước ở những ô mình bôi màu vàng. Nếu độ rộng blog của bạn khác bạn sẽ phải chỉnh lại toàn bộ code để cho phù hợp nha.
2- Thêm đoạn mã bên dưới vào trước thẻ </head>
<b:if cond='data:blog.url == data:blog.homepageUrl'><script type='text/javascript'>/*<![CDATA[*///https://chinhtrucblog.blogspot.com/2013/10/tao-nhieu-chuyen-muc-cho-bai-viet-theo.html- Home box v1.0[imgr=["https://lh3.googleusercontent.com/-IBkOgk0LW6c/TqulPrgd6RI/AAAAAAAAAmg/VHnAiJCR4jc/s800/no_img.jpg"];aBold=showRandomImg=!0;summaryPost=70;summaryTitle=25;numposts=7;function box1(i){j=showRandomImg?Math.floor((imgr.length+1)*Math.random()):0;img=[];maxpost=numposts<=i.feed.entry.length?numposts:i.feed.entry.length;for(var g=0;g<maxpost;g++){var e=i.feed.entry[g],l=e.title.$t,h;if(g==i.feed.entry.length)break;for(var f=0;f<e.link.length;f++)if("alternate"==e.link[f].rel){h=e.link[f].href;break}for(f=0;f<e.link.length;f++)if("replies"==e.link[f].rel&&"text/html"==e.link[f].type){e.link[f].title.split(" ");break}f="content"in e?e.content.$t:"summary"ine?e.summary.$t:"";postdate=e.published.$t;j>imgr.length-1&&(j=0);img[g]=imgr[j];s=f;a=s.indexOf("<img");b=s.indexOf('src="',a);c=s.indexOf('"',b+5);d=s.substr(b+5,c-b-5);-1!=a&&-1!=b&&-1!=c&&""!=d&&(img[g]=d);e=[1,2,3,4,5,6,7];postdate.split("-")[2].substring(0,2);var m=postdate.split("-")[1];postdate.split("-");for(var k=0;k<e.length&&!(parseInt(m)==e[k]);k++);0==g&&(e='<div class="box1-left"><a href="'+h+'" title="'+removeHtmlTag(f,200)+'"><img src="'+img[g]+'"/></a><h2><a href="'+h+'">'+l+'</a></h2><div class="box1-left-info">'+removeHtmlTag(f,160)+"...</div></div>",document.write(e));1<=g&&32>=g&&(e='<div class="box1-right"><a href="'+h+'" title="'+removeHtmlTag(f,200)+'"><img src="'+img[g]+'"/></a><a href="'+h+'">'+l+"</a></div>",document.write(e));j++}document.write("")}function box2(i){j=showRandomImg?Math.floor((imgr.length+1)*Math.random()):0;img=[];maxpost=numposts<=i.feed.entry.length?numposts:i.feed.entry.length;for(var g=0;g<maxpost;g++){var e=i.feed.entry[g],l=e.title.$t,h;if(g==i.feed.entry.length)break;for(var f=0;f<e.link.length;f++)if("alternate"==e.link[f].rel){h=e.link[f].href;break}for(f=0;f<e.link.length;f++)if("replies"==e.link[f].rel&&"text/html"==e.link[f].type){e.link[f].title.split(" ");break}f="content"in e?e.content.$t:"summary"ine?e.summary.$t:"";postdate=e.published.$t;j>imgr.length-1&&(j=0);img[g]=imgr[j];s=f;a=s.indexOf("<img");b=s.indexOf('src="',a);c=s.indexOf('"',b+5);d=s.substr(b+5,c-b-5);-1!=a&&-1!=b&&-1!=c&&""!=d&&(img[g]=d);e=[1,2,3,4,5,6,7];postdate.split("-")[2].substring(0,2);var m=postdate.split("-")[1];postdate.split("-");for(var k=0;k<e.length&&!(parseInt(m)==e[k]);k++);0==g&&(e='<div class="box2-left"><a href="'+h+'" title="'+removeHtmlTag(f,200)+'"><img src="'+img[g]+'"/></a><a href="'+h+'">'+l+'</a><div class="box2-left-info">'+removeHtmlTag(f,160)+"...</div></div>",document.write(e));1<=g&&32>=g&&(e='<div class="box2-right"><a href="'+h+'" title="'+removeHtmlTag(f,200)+'"><img src="'+img[g]+'"/></a><a href="'+h+'">'+l+"</a></div>",document.write(e));j++}document.write("")};//]]></script><script type='text/javascript'>var thumbnail_mode = "no-float" ;summary_noimg = 300;summary_img = 160;img_thumb_height = 85;img_thumb_width = 124;</script><script type='text/javascript'>//<![CDATA[eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('l m(a,b){6(a.5("<")!=-1){3 s=a.O("<");N(3 i=0;i<s.4;i++){6(s[i].5(">")!=-1){s[i]=s[i].8(s[i].5(">")+1,s[i].4)}}a=s.J("")}b=(b<a.4-1)?b:a.4-2;A(a.v(b-1)!=\' \'&&a.5(\' \',b)!=-1)b++;a=a.8(0,b-1);t a+\'...\'}l r(a){3 b=D.p(a);3 c="";3 d=b.q("7");3 e=u;6(d.4>=1){c=\'<k w="x:y; z:j B 0 j;;C:-P 0 0 0"><7 E="ẢF G họa" g="\'+d[0].g+\'" H="\'+I+\'9" K="\'+L+\'9" /></k>\';e=M}3 f=c+\'<n>\'+m(b.o,e)+\'</n>\';b.o=f}',52,52,'|||var|length|indexOf|if|img|substring|px|||||||src|||0px|span|function|removeHtmlTag|div|innerHTML|getElementById|getElementsByTagName|createSummaryAndThumb||return|summary_noimg|charAt|style|float|left|padding|while|10px|margin|document|alt|nh|minh|width|img_thumb_width|join|height|img_thumb_height|summary_img|for|split|38px'.split('|'),0,{}))//]]></script><style type='text/css'>#blog1{display:none}</style></b:if>
3. Tìm với từ khóa Blog1 tìm đoạn code tương tự như sau: (những đoạn màu đỏ có thể khác nhau tùy blog)
<b:section class='main' id='main' showaddelement='no'><b:widget id='Blog1' locked='true' title='Bài đăng trên Blog' type='Blog'/></b:section>
Chèn đoạn code sau phía trên đoạn code vừa tìm được.
<b:if cond='data:blog.url == data:blog.homepageUrl'><div class='boxhome'><div class='box1'><script src='/feeds/posts/default?max-results=7&orderby=published&alt=json-in-script&callback=box1'/><div style='clear:both;'/></div><div class='box2'><ul class='menu'><li><a href='#'>Blogger Template</a></li><li><a href='#'>Magazine Template</a></li><li><a href='#'>Shopping Template</a></li><li><a href='#'>Movie Tempalte</a></li></ul><script src='feeds/posts/default/-/Label 1?max-results=5&orderby=published&alt=json-in-script&callback=box2'/><div style='clear:both;'/></div><div class='box2'><ul class='menu'><li><a href='#'>Thủ Thuật Blog</a></li><li><a href='#'>Giải Trí</a></li><li><a href='#'>Ebook</a></li><li><a href='#'>Nhạc Trẻ</a></li></ul><script src='/feeds/posts/default/-/Label 2?max-results=5&orderby=published&alt=json-in-script&callback=box2'/><div style='clear:both;'/></div><div class='box2'><ul class='menu'><li><a href='#'>Game</a></li><li><a href='#'>Software</a></li><li><a href='#'>Internet</a></li><li><a href='#'>Ghost Win 7</a></li></ul><script src='/feeds/posts/default/-/Label 3?max-results=5&orderby=published&alt=json-in-script&callback=box2'/><div style='clear:both;'/></div></div></b:if>
- Thay Label 1, Label 2,Label 3 thành tên nhãn mà bạn muốn hiển thị.
- Lưu ý là tên nhãn phải chính xác cả dấu cách và các chữ in hoa hoặc in thường nếu sử dụng trong tên nhãn.
- max-results=5 là số bài hiển thị ở cột bên trái của phần nhãn.
- max-results=7 là số bài hiển thị ở cột bên phải mục bài viết mới nhất.
- Trong đoạn code trên mình tạo 1 box lớn (hiển thị các bài viết mới nhất) và 2 box con (2 chuyên mục).
- Để tạo thêm chuyên mục bạn tạo thêm các mục box2 là được.
Update : #1 Đã sửa lỗi không hiện thị bài viết.
Xem thêm bản cập nhật : Tạo chuyên mục cho bài viết theo nhãn v2
Chúc các bạn thành công với thủ thuật này.
Tạo nhiều chuyên mục cho bài viết theo nhãn
4/
5
Oleh
Đỗ Trực
68 nhận xét
Tulis nhận xétNghiên cứu cái vụ này mới được!
ReplyMà Trực ơi, bạn sửa lại một chút: "theo phong cách báo trí (magazine) thành Báo chí nhé!!!!
Hjhj thanks anh nha .Đã edit lại bài
ReplyĐể ẩn bài viết ở trang chủ đi bạn làm thêm bước 4
ReplyMình làm được rồi, Thank you
ReplyBạn oi, mình muốn làm cho hình ảnh hiển thị nó vuông hết phải làm sao bạn
ReplyBạn chỉnh lại kích thước height và width ở các đoạn css :
Reply.box1-left img{margin-bottom:5px; height:230px; width:270px}
.box1-right img {float:left; height:49px; width:72px; margin-right:10px}
.box2-left img{margin-right:5px; height:100px; width:160px;float:left}
.box2-right img {float:left; height:37px; width:48px; margin-right:5px}
Thanks you!
ReplyLỗi xảy ra khi bạn coppy thiếu.Bạn thêm </b:if> vào sau đoạn code ở bước 2. đặt sau thẻ </script> và trước thẻ </head>
ReplyBạn coi phần hướng dẫn lúc tải templete về, để hiển thị bạn phải đặt các thẻ id khác nhau nếu trùng nhau thì không hiển thị đâu có thể thêm số vào .ví dụ : music1 music2.
ReplyCái chỗ mình tải template không có hướng dẫn gì hết, bạn có thể giúp mình ?
ReplyĐể hiện thị thành nhiều thư mục khác nhau bạn phải thay đổi thẻ id để không trùng nhau mới hiện thị hết được ví dụ : thư mục 1 <div id="webdespost">.................
ReplyjQuery("#webdespost") ,thư mục 2 phải đổi thành <div id="webdespost1">.....
jQuery("#webdespost1")....... muốn thêm bao nhiêu thư mục cứ làm tương tự như vậy
Chỗ ........... là gì thế bạn ?
ReplyMình làm hông được, làm ơn giúp mình đi
ReplyBạn copy thiếu code rồi nó mới ra như thế
ReplyThanh trượt ngang
[co="red"] <div id="webdespost1"></div>
<script type='text/javascript'>
jQuery("#webdespost1").RecentPostbyTag({
postType:"s",
MaxPost:10,
ImageSize:"s200-p",
tagName:"ten nhan"
});
</script>[/co]
Hay nắm bạn :5)
ReplyCảm ơn bài viết của bạn. Mình có chút thắc mắc mong bạn giải đáp hộ. Mình làm đên đước 3 tất cả đều tốt. Nhưng khi làm bước 4 thì trang chủ trắng trơn luôn (ẩn cả bài viết mới nhất lẫn các thành quả của 3 bước trên). Xin bạn chỉ giúp cách xử lý. Cảm ơn rất nhiều
ReplyMình thấy bạn thực hiện thành công rồi mà.:F)
ReplyBạn ơi bạn có thể cho mình file JS của cái này không cảm ơn bạn
ReplyMình Không muốn hiện bài đăng mới nhất chỉ cần hiện các Nhãn thì xóa cái nào bạn
ReplyỞ bước 3 bạn xóa đoạn code này đi nhé<div class='box1'>
Reply<script src='/feeds/posts/default?max-results=7&orderby=published&alt=json-in-script&callback=box1'/>
<div style='clear:both;'/>
</div>
Đã gửi cho bạn .nhưng hình templete của bạn khác của mình. có thể không hiển thị được :C)
ReplyBuồn ngủ gặp chiếu manh, thank bạn thật nhiều nha !
)))))))))
Reply:F) rất vui khi giúp được bạn
ReplyBạn ơi cho mình hỏi mình làm xong như bạn chỉ .nhưng sao phần "Trong đoạn code trên mình tạo 1 box lớn (hiển thị các bài viết mới nhất)" lại không còn bạn ơi !
Replychỉ giúp mình với
Tôi thấy blog của bạn hiển thị được rồi mà .
ReplyNhận xét này đã bị tác giả xóa.
ReplyMình thấy blog của bạn chưa gắn link vào các chuyên mục trong box2 thì làm sao hiển thị được ?, để các chuyên mục hiển thị đẹp hơn bạn nên chỉnh lại css kích thước trong .box2. Trong thời gian tới mình sẽ nâng cấp tiện ích bạn sẽ có nhiều tùy chọn hơn nữa bạn nhớ đón đọc nhé ^^
ReplyỞ trong đoạn css .menu{overflow: hidden; width: 100%; border-bottom:1px solid #0F83A0; background:#eee;}
Replybạn thêm thuộc tính padding: initial;
Sẽ thành như sau :
.menu{overflow: hidden; width: 100%; border-bottom:1px solid #0F83A0; background:#eee;padding: initial}
ok, mình làm được rồi. Cảm ơn bạn nhiều nha !
ReplyBạn ơi..tại sao mình thay tên nhãn label thành tên khác mà k đc vậy ạ
ReplyBạn phải thay chính xác tên nhãn mới được. Bạn xem lại bước 3 nhé .Giờ đi ngủ tối xem đá banh mong
Replyreal madrid thắng .
Mình muốn đổi màu chữ ở các tiêu đề từ mầu Đỏ chuyển sang màu Đen, hoặc các mầu khác thì làm ntn hả bạn? Thanks.
Replyà tại mình copy thiếu css
ReplyTuy skin rất đẹp nhưng nó dẫn tới việc load ảnh thumbnail hiển thị trong các box, không phải là kích thước được resize mà lại là kích thước natural
bạn có cách nào khắc phục không?
ReplyNếu để kích thước ban đầu thì ảnh sẽ bị vỡ,tràn ra ngoài khung trông xấu lắm.Trong phiên bản tới mình sẽ nâng cấp,có nhiều tính năng mới hơn.
Replynếu cứ chèn sau blog1 thì khi xong, blog sẽ hiển thị 2 cái bài đăng mới nhất, 1 cái của template blog, và 1 cái là của thủ thuật này (phần bài đăng mới nằm trên chuyên mục)...vậy theo mình là phải xóa bài đăng blog1 của template cũ đi...vậy xóa ntn bác?
Replysao mình làm theo bước 4 nó lại bị mất hết các mục bạn nhỉ cả bài viết
ReplyBạn có làm theo các bước không. Lưu ý là blog bạn phải có bài đăng nha.
ReplyBạn đọc lại bước 1: thay đổi kích thước ở những ô mình bôi màu vàng.
Replyhoặc nếu khó quá thì bạn thay đổi css :
tìm đoạn #main-wrapper {
padding-top: 10px;
width: 700px; đổi thành 700px
và
#outer-wrapper {
background: #fff;
width: 910px; đổi thành 1000px đoạn code trên là mở rộng blog bạn ra cho hiển thị rõ khung bài. :3)
Cảm ơn bạn nhiều! Chúc bạn đầy tràn ơn lành của Hài Đồng và có một mùa giáng sinh vui vẻ bên gia đình nhé.:G)
ReplyWo! đẹp quá rồi, chuẩn luôn đó bạn, cảm ơn bạn nha. Cho mình backlink bạn với nhé!
ReplyNhận xét này đã bị quản trị viên blog xóa.
ReplyCảm ơn bài viết chia sẻ rất chi tiết của bạn!
ReplyBạn cho mình hỏi thêm về phần này: giờ mình muốn khi click vào một label, mình cũng muốn kiểu hiện thị các bài giống như ở trang chủ bạn vừa làm, thì phải tùy chỉnh thế nào?
Bạn phải đặt tên nhãn ở các thư mục không trùng nhau thì mới hiển thị được. Bạn gửi temple của bạn cho mình để mình kiểm tra thử xem nhé:3)
ReplyMình không hiểu ý bạn lắm , bạn có thể nói rõ hơn được không :C)
ReplyBạn có thể cho hiển thị ngày đăng, người đăng bài, thời gian và số comment giống như một trang tin tức được không ????
Replyduoc nhung nhin hoi roi...
ReplyỞ box1 hiện những bài đăng mới nhất .Còn ở box2,box3 hiện theo nhãn mà bạn đặt .:3)
ReplyCó thể bị lỗi đụng javascrip rồi . Gửi templete của bạn cho mình ,mình sửa giúp cho.
ReplyNhận xét này đã bị tác giả xóa.
ReplyCám ơn bạn nhiều.
ReplyMình ko paste code vào trong phần trả lời này được vì nó báo lỗi:
HTML của bạn không thể được chấp nhận: Tối đa không quá 4.096 ký tự
.Nên mình xin email của bạn đẻ mình gửi qua.
chúc bạn nhiều may mắn và thành công
chinhtruc20@gmail.com
ReplyCAM ON BAN,MINH DA GUI MAIL CHO BAN, GIUP MINH NHE
ReplyCAM ON BAN NHIEU
tks ban rất nhiều.tìm lâu nay mới được .
ReplyTHank RPo :4)
ReplyXin chào anh,
ReplyCảm ơn anh về bài viết trên, nó rất hữu ích. Em muốn hỏi thêm một tí, Thứ 1, blog hiển thị nội dung rất chậm. Thứ 2, có thẻ xóa bỏ Get this widget được hay không?
Xin mọi người góp ý giúp.
Xin cảm ơn.
Nhận xét này đã bị quản trị viên blog xóa.
ReplyCảm ơn vì những code chia sẻ của bạn! Mình làm y như trên, nhưng không hiện sản phẩm. Phải click vào trong chuyên mục mới hiện các sản phẩm đã gắn nhãn trong chuyên mục đó. Mình muốn trong trang chủ, hiện khoản 5 sản phẩm mới trong chuyên mục thì làm sao bạn? Mong bạn chỉ giúp! Xin cảm ơn.
ReplyMình mới cập nhật lại code ở bước 2 .Bạn làm lại nhé:3)
ReplyBlog bạn bị đụng javascip rồi gửi templete của bạn để mình sửa cho
ReplyNhận xét này đã bị quản trị viên blog xóa.
Reply@Joseph Trực Bạn ơi mình làm theo các bước bạn hướng dẫn rồi, nhưng vẫn không hiển thị theo ý muốn được, trang trắng bạn ơi. Rất mong bạn giúp đỡ. http://camnangthuongngay.blogspot.com/
Replyemail: cugiaihlfc@gmail.com
Cảm ơn bạn!
blog bạn đang bị đụng javascrip nên không hiển thị được, bạn thay mẫu template khác và thực hiện lại nhé:3)
ReplyCảm ơn nhiều mình làm được rồi. Hỏi thêm chút nữa là mình muốn độ rộng khung cố định thì sửa như thế nào? Blog của mình đây, cậu thấy đấy nó sát với thanh bên quá trông không được cân đối.
ReplyTopTenHazy
Đã fix lỗi bài viết này. Bạn thêm .boxhome{width:680px}.boxhome ul {margin:0; padding:0} vào đoạn css. Nếu không được thì chỉnh lại độ rộng blog hay chỉnh lại thông số css trong phần main-wrapper hay content-wrapper trong blog.^^
ReplyNhận xét này đã bị tác giả xóa.
ReplyMình đã thêm đoạn code trên nhưng không được, mà cũng không muốn thay đổi bố cục blog vì có nhiều cái dây mơ rễ má từ nó. Cảm ơn Ad đã chia sẻ, nhờ những bài viết hữu ích của cậu mà tớ từ một đứa kiến thức ít ỏi về web đã được "khai sáng" ít nhiều. Quả là cứ vọc thì biết tuốt.
ReplyÙ cứ vọc đi là biết ấy mà, bạn thực hiện lại theo bài này nhé, mình mới sửa lỗi rồi. Sắp tới mình sẽ có mấy mẫu template dạng này cho mọi người.
Reply