Blogger đã có readmore tuy nhiên nó khá thủ công, với blog đã có nhiều bài viết thì việc tạo readmore cho từng bài là rất vất vả và blogger thường tìm đến với auto readmore javascript. Auto readmore javascript thực ra chỉ hiển thị một phần bài viết qua hàm document.write, nội dung cả bài viết vẫn được trình duyệt tải về. Nhược điểm của nó là không thân thiện với các bộ máy tìm kiếm và các công cụ dịch trực tuyến, ngoài ra với bài viết dài nếu không dùng thêm readmore của Blogger thì sẽ gặp lỗi phân trang do Blogger tự ngắt trang. Thủ thuật auto readmore mình giới thiệu sau đây hoàn toàn mới, không sử dụng javascript mà dùng các câu lệnh do chính Blogger cung cấp. Nó sẽ cải thiện tốc độ blog của bạn khi duyệt các trang kiểu index, archive do chỉ tải về trích đoạn nội dung của bài viết.
Cách thực hiện: Mình sẽ giới thiệu 2 cách thực hiện về cơ bản đều gốngn hau cả. các bạn xem bên dưới nha:
Hình minh họa |
Cách 1: Theo Duypham
Bước 1: Thêm class post-thumbnail để hiển thị hình ảnh. Có 2 dạng hiển thị hình ảnh là bên trái hoặc bên phải.
1. Hiển thị hình ảnh bên trái:
Thêm đoạn mã dưới đây vào bên trên thẻ ]]></b:skin> : .post-thumbnail{float:left;margin-right:20px}
2. Hiển thị hình ảnh bên phải:
Thêm đoạn mã dưới đây vào bên trên thẻ ]]></b:skin> :
.post-thumbnail{float:right;margin-left:20px}
Bước 2: Thêm đoạn mã auto readmore. Có 4 dạng auto readmore để lựa chọn.
1. Auto readmore với hình ảnh:
Thay thế <data:post.body/> bằng đoạn mã dưới đây:
1. Auto readmore với hình ảnh:
Thay thế <data:post.body/> bằng đoạn mã dưới đây:
<b:if cond='data:blog.pageType != "item"'> <b:if cond='data:blog.pageType != "static_page"'> <div> <b:if cond='data:post.thumbnailUrl'> <img class='post-thumbnail' expr:alt='data:post.title' expr:src='data:post.thumbnailUrl' width='72px' height='72px'/> </b:if> <data:post.snippet/> </div> <div class='jump-link'> <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a> </div> <b:else/> <data:post.body/> </b:if> <b:else/> <data:post.body/> </b:if>
2. Auto readmore với hình ảnh và hiển thị ảnh mặc định cho bài viết không có ảnh:
Thay thế <data:post.body/> bằng đoạn mã dưới đây:
Thay thế <data:post.body/> bằng đoạn mã dưới đây:
<b:if cond='data:blog.pageType != "item"'> <b:if cond='data:blog.pageType != "static_page"'> <div> <b:if cond='data:post.thumbnailUrl'> <img class='post-thumbnail' expr:alt='data:post.title' expr:src='data:post.thumbnailUrl' width='72px' height='72px'/> <b:else/> <img class='post-thumbnail' alt='no image' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDcQdc1qnWZo_4P4VyvmGbmTRQSsvq2fhO1ByISXjBit4ZqyKzs3HUmOtyhGvHDP6T20HVzWvJOp2OdiLut66PmyrqCxM3UYX99r6l4cIURcueBA2ZG6pMPjcsEzxJUqTZgBbedKBgssob/' width='72px' height='72px'/> </b:if> <data:post.snippet/> </div> <div class='jump-link'> <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a> </div> <b:else/> <data:post.body/> </b:if> <b:else/> <data:post.body/> </b:if>
3. Auto readmore với hình ảnh. Không readmore với bài viết mới nhất:
Thay thế <data:post.body/> bằng đoạn mã dưới đây:
Thay thế <data:post.body/> bằng đoạn mã dưới đây:
<b:if cond='data:blog.pageType != "item"'> <b:if cond='data:blog.pageType != "static_page"'> <b:if cond='data:blog.url == data:blog.homepageUrl'> <b:if cond='data:post.isFirstPost == "true"'> <data:post.body/> <b:if cond='data:post.hasJumpLink'> <div class='jump-link'> <a expr:href='data:post.url + "#more"' expr:title='data:post.title'><data:post.jumpText/></a> </div> </b:if> <b:else/> <div> <b:if cond='data:post.thumbnailUrl'> <img class='post-thumbnail' expr:alt='data:post.title' expr:src='data:post.thumbnailUrl' width='72px' height='72px'/> </b:if> <data:post.snippet/> </div> <div class='jump-link'> <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a> </div> </b:if> <b:else/> <div> <b:if cond='data:post.thumbnailUrl'> <img class='post-thumbnail' expr:alt='data:post.title' expr:src='data:post.thumbnailUrl' width='72px' height='72px'/> </b:if> <data:post.snippet/> </div> <div class='jump-link'> <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a> </div> </b:if> <b:else/> <data:post.body/> </b:if> <b:else/> <data:post.body/> </b:if>
4. Auto readmore với hình ảnh và hiển thị ảnh mặc định cho bài viết không có ảnh. Không readmore với bài viết mới nhất:
Thay thế <data:post.body/> bằng đoạn mã dưới đây:
Thay thế <data:post.body/> bằng đoạn mã dưới đây:
<b:if cond='data:blog.pageType != "item"'> <b:if cond='data:blog.pageType != "static_page"'> <b:if cond='data:blog.url == data:blog.homepageUrl'> <b:if cond='data:post.isFirstPost == "true"'> <data:post.body/> <b:if cond='data:post.hasJumpLink'> <div class='jump-link'> <a expr:href='data:post.url + "#more"' expr:title='data:post.title'><data:post.jumpText/></a> </div> </b:if> <b:else/> <div> <b:if cond='data:post.thumbnailUrl'> <img class='post-thumbnail' expr:alt='data:post.title' expr:src='data:post.thumbnailUrl' width='72px' height='72px'/> <b:else/> <img class='post-thumbnail' alt='no image' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDcQdc1qnWZo_4P4VyvmGbmTRQSsvq2fhO1ByISXjBit4ZqyKzs3HUmOtyhGvHDP6T20HVzWvJOp2OdiLut66PmyrqCxM3UYX99r6l4cIURcueBA2ZG6pMPjcsEzxJUqTZgBbedKBgssob/' width='72px' height='72px'/> </b:if> <data:post.snippet/> </div> <div class='jump-link'> <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a> </div> </b:if> <b:else/> <div> <b:if cond='data:post.thumbnailUrl'> <img class='post-thumbnail' expr:alt='data:post.title' expr:src='data:post.thumbnailUrl' width='72px' height='72px'/> <b:else/> <img class='post-thumbnail' alt='no image' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDcQdc1qnWZo_4P4VyvmGbmTRQSsvq2fhO1ByISXjBit4ZqyKzs3HUmOtyhGvHDP6T20HVzWvJOp2OdiLut66PmyrqCxM3UYX99r6l4cIURcueBA2ZG6pMPjcsEzxJUqTZgBbedKBgssob/' width='72px' height='72px'/> </b:if> <data:post.snippet/> </div> <div class='jump-link'> <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a> </div> </b:if> <b:else/> <data:post.body/> </b:if> <b:else/> <data:post.body/> </b:if>
Việc hiển thị trích đoạn nội dung bài viết là thông qua thẻ <data:post.snippet/> của Blogger. Như đã từng đề cập tới ở bài đăng trước đoạn trích dẫn của Blogger chỉ gồm 140 ký tự (Blogger vừa update, số lượng ký tự của thẻ <data:post.snippet/> ở widget Blog giờ đây ít hơn số lượng ký tự của thẻ <data:post.snippet/> ở widget PopularPosts), khá là ngắn và việc ngắt ký tự không chú ý tới ký tự trống nên có câu bị mất vài từ trở nên vô nghĩa.
Hình ảnh được lấy thông qua lệnh data:post.thumbnailUrl. Đây là đường dẫn ảnh thứ nhất trong bài viết đã được Blogger resize về kích thước 72x72 pixels. Cần chú ý là ảnh của bài viết phải được upload thông qua công cụ Chèn hình ảnh của Blogger, hoặc lấy địa chỉ ảnh từ Picasa và địa chỉ ảnh phải có s1600, s800...thì công cụ resize của Blogger mới hoạt động, khi đó ảnh mới xuất hiện. Thủ thuật trên đã thêm thuộc tính alt là tiêu đề bài viết cho hình ảnh, nó giúp tăng khả năng SEO cho blog của bạn.
Trước khi thực hiện thủ thuật auto readmore này bạn cần loại bỏ đoạn mã auto readmore javascript nếu đang dùng nhé.
Cách 2: theo thuthuatblogger.
- Cách này có ưu thế là căn đều 2 bên của văn bản nhìn xẽ đẹp hơn.
Bước 1. Đăng nhập Blogger, vào Design >> Edit HTML, chọn Expand Widget Templates.
Đặt đoạn code sau đây trước dòng ]]></b:skin> .
Đặt đoạn code sau đây trước dòng ]]></b:skin> .
.item-thumbnail {float:left;margin-right:15px;width:75px;height:70px} .item-snippet {color: #999; font-family:Arial; font-size: 12px;text-align:justify} .jump-link {float:right} .jump-link a,.jump-link a:visited{background:#444343;margin-right:4px;padding:4px 8px;color:#FFF;text-shadow:1px 1px 1px #000;text-decoration:none;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px} .jump-link a:hover,.jump-link a:active{background:#006666;color:#FFF;text-decoration:none;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}
- Thay float:left; thành float:right; nếu muốn nó hiển thị bên phải
Bước 2. Tìm <data:post.body/> và thay nó bằng đoạn code bên dưới.
<b:if cond='data:blog.pageType != "item"'> <b:if cond='data:blog.pageType != "static_page"'> <div> <b:if cond='data:post.thumbnailUrl'> <img class='item-thumbnail' expr:alt='data:post.title' expr:src='data:post.thumbnailUrl'/> <b:else/> <img alt='no image' class='item-thumbnail' src='http://lh4.ggpht.com/_u7a1IFxc4WI/TTjruHJjcfI/AAAAAAAAAk0/i11Oj6i_bHY/no-image.png'/> </b:if> <div class='item-snippet'><data:post.snippet/></div> </div> <div class='jump-link'> <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a> </div> <span class='post-comment-link'> <b:if cond='data:post.allowComments'> <a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a> </b:if> </span> <b:else/> <data:post.body/> </b:if> <b:else/> <data:post.body/> </b:if>
Lưu Template là OK.
Điểm chú ý trong code cách 2 có tùy biến là phần mô tả tóm tắt bài viết (snippet), văn bản được căn đều hai bên (nhờ sử dụng class item-snippet có định dạng text-align:justify).Chúc thành công!
Nếu muốn bố cục chia thành 2 cột hãy xem bài này:
Ảnh thumbnail có kích thước tối đa 72x72 nếu muốn rộng hơn hãy xem Auto readmore resize thumbnail.
Nhận xét
bạn ơi sao cái phần đc reamore ấy nó chỉ hiện thị đc ít ký tự quá vậy, có cách nào cho hiển thị được nhiều hơn không bạn
Trả lờiXóa@TT Điện lạnh Bách khoa 24/7 Đúng rồi cái này phát triển dựa trên nền autoread mỏe của blogspot do vậy chỉ hiển thị được tối đa 100 ký tự.
Trả lờiXóa- Nếu bạn muốn hiện nhiều hơn thì tham khảo cách này nha Autoread more with javarsvrip:3) :3) :3)
pác làm ơn cho em hỏi:
Trả lờiXóaSố bài đăng em đặt hiển thị trên trang chủ là 5, khi chưa sử dụng code Readmore thì nó hiển thị đủ 5 bài, nhưng khi xài Readmore thì nó lại chỉ hiển thị đúng có 4 bài (em thử đặt số lượng 10 bài thì nó vẫn cũng chỉ hiển thị có 4 bài)
Là sao hả pác? có cách nào khắc phục ko?
Blog của em: http://motgocvuon.blogspot.com/
Mong bác giúp ! chân thành cảm ơn pác !
@Riêng một góc vườn Nguyên nhân của hiện tượng này là do bài đăng bị mất của bạn dùng quá nhiều hình ảnh, thêm vào đó bạn không sử dụng thuộc tính read morre của blog cung caaos cho.:3) :3) :3)
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóađoạn code data:post.body/> nằm ở đâu vậy, tìm mãi không thấy, chỉ giúp mình với
Trả lờiXóaBạn ơi mình làm theo cách cuối cùng nhưng phần tóm tắt ít quá , chưa đầy 1 dòng @@ phải khắc phục sao hả bạn ?
Trả lờiXóa@Noah Huynh Cọn mở Rộng tiện ích mẫu mí có. Blog nà cũng có phần này hết bạn tìm lại đi.
Trả lờiXóa@Administrator Cái này mình từng hỏi amin rùi. mình trả lời thay nha. thủ thuật này chỉ cho tối đa 120 ký tứ thôi bạn. Nếu muốn nhiều hơn thì bạn dùng auto readmore with javarscrip tuy nhiên nó sẽ không load nhanh bằng bài này đâu nha.
Trả lờiXóaanh chủ blog này anh cóa yh or facebook hk cho em xin nik anh gửi we yh:nh0ckteenst or facebook:nh0ckface007@gmail.com em có thắc mắc về Sữa chữa dessign mog anh giúp đở tks or chĩnh sữa popular posts mog anh giúp đở tks
Trả lờiXóa@ChiếnXin lỗi thời gian qua bận quá hôm nay mí trả lời bạn được. Yahoo mình là: langtuluongsonbac_tq
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóaLưu ý mỗi blog có từ 2 đến 3 đoạn <data:post.body/> bạn phải thay đúng đoạn mới hiển thị. Thông thường là đoạn đàu tiên bạn thấy.
Trả lờiXóaAnh ơi!
Trả lờiXóaTemplate của blog em ko bik có xài auto readmore hay ko!?
nhưng những bài đăng trên trang chủ hay trang label đều bị mất bớt so với số bài đăng tùy chỉnh (chỉ hiện có 4 hoặc 5 bài)
Giờ em ko bik làm sao để cài auto readmore cho blog mà vẫn giữ giao diện hiện tại của template!!
Mong anh xem giúp giùm em!!
Đây là blog của em: http://dawebvn.blogspot.com
tks!!
Nó là readmore của blogger em ak. Với kiểu này em chỉ cần sử dụng các dấu ngắt <!--more--> (biểu tượng tờ giấy xé dôi trên thanh công cụ xoạn thảo bài viết) khi đăng bài là khắc phục được ngay thôi.
Xóaem vừa lưu data và chuyển sang địa chỉ đó!
Trả lờiXóanhưng khi lưu data hình như blog ko lưu dấu ngắt
vì blog hiện tại của em đã có trên 500 bài đăng
ko lẽ chèn thủ công từng bài thì....hix...hix...
mong anh giúp em xem có cách nào chèn tự động dc hog!?
tks!!
Phần data sẽ có chính xác cả dấu ngắt và dấu enter em ak. Nó thiếu trừ khi blog cũ em cũng không điền dấu đó.
Xóa- Nếu không có em chỉ cần mỗi nhãn đánh dấu ngắt cho số bài bằng với số bài em cho hiển thị thôi.
Hãy dùng dấu ngắt khi đăng bài như bài này nha: XEM NGAY
Trả lờiXóahay lắm, dễ làm lại đẹp. Cảm ơn Namka, chúc bạn năm mới an khang thịnh vượng.
Trả lờiXóaNamkna xem dùng mình trang vncanho của mình thuộc readmore dạng nào vậy? mình đọc bài này mà không hiểu cho lắm. Với lại mình cũng bị lỗi phân trang. và hình ảnh thumbnail của mình nó chỉ lấy 1 phần kích thước của ảnh. Không biết sửa làm sao, tiện đây cho mình hỏi luôn điều này.
Trả lờiXóa- Nếu mình dùng read more của blogspot mà khi viết bài (Giả sử mình muốn tạo landing page 1 bài viết duy nhất trên theme của mình) mình không chèn dấu ngắt thì nó hiện ra hết không?
Mẫu bạn đang sử dụng ở trang chủ là mẫu recent post home page đó không phải tiện ích read more.
Xóaở trang nhãn là tiện ích readmo không sử dụng java.
- Bài viết không dùng dấu ngắt tất nhiên nó sẽ hiển thị toàn bộ nội dung. Trừ một số tiện íc\h dùng javar nó sẽ hiển thị số ký tự mà đoạn javar đó goi.
Template của mình làm ko dược bạn ơi, nó rơ trơ chẳng thấy gì, bạn giúp mình được không?
Trả lờiXóa