Lấy ra ảnh đầu tiên của bài viết của Blogger - KslZone.NET

  • July 24, 2014

Ngay hôm trước mình đã chia sẻ với các bạn Auto Readmore không thumbnail, và trong bài viết đó mình có nói sẽ hướng dẫn các bạn lấy là hình ảnh đầu tiên của bài viết mà không cần dụng tới Javascript, chỉ cần sử dụng mã mặc định của Blogger là đã lấy ra được nó rồi.

[![Lấy ra ảnh đầu tiên của bài viết của Blogger](http://1.bp.blogspot.com/-dcVhnc1IJ2Q/U9CLhKJW2iI/AAAAAAAACfU/wSa34wVsSTo/s1600/1st.png "Lấy ra ảnh đầu tiên của bài viết của Blogger")](http://1.bp.blogspot.com/-dcVhnc1IJ2Q/U9CLhKJW2iI/AAAAAAAACfU/wSa34wVsSTo/s1600/1st.png)

Việc sử dụng đoạn mã mặc định của Blogger sẽ giúp cho blog của bạn có tốc độ tải trang nhanh hơn và ít lỗi hơn nhiều so với việc nhờ vả Javascript. Thì không phải lằng nhằng nữa vào việc thôi sau đây là điều các bạn quan tâm.

Lấy ảnh đầu tiên của bài viết bằng mã mặc định của Blogger

Nếu các bạn tinh ý và thích vọc nhiều trong template như mình các bạn sẽ thấy, mặc định của một Blogger Template chưa chỉnh sửa gì hết sẽ có một đoạn mã như thế này

<b:if cond='data:post.firstImageUrl'>
 <meta expr:content='data:post.firstImageUrl' itemprop='image_url'/>
</b:if>

đoạn mã này có nhiệm vụ tạo ra một thẻ meta khai báo hình ảnh của bài viết và từ thẻ meta đó nó cung cấp đường link của hình ảnh đầu tiên của bài viết đến các công cụ tìm kiếm.

Lợi dụng nó các bạn chỉ cần chỉnh sửa đôi chút là đã lôi hình ảnh đầu tiên ra rồi, cái này chắc khỏi phải giải thích cho rắc rối, mình sẽ làm luôn cho các bạn, ở đoạn mã trên sau khi mình chỉnh sửa xong thì nó sẽ thành ra thế này

<b:if cond='data:post.firstImageUrl'>
 <img expr:src='data:post.firstImageUrl' expr:title='data:post.title' expr:alt='data:post.title' />
</b:if>

ở đây mình xóa bỏ đi thuộc tính itemprop vì không phải thẻ meta và ko cần xài nó nữa, và mình có thêm vào 2 thuộc tính title và alt để tối ưu hơn cho SEO.

Bây giờ bạn có thể đặt vào bất cứ vị trí nào bên trong phần

<b:includable id='post' var='post'>
...
</b:includable>

thì nó sẽ hiện hình ảnh đầu tiên ở đó.

Trong trường hợp nếu bài viết không có hình ảnh, thì tương đương với nó sẽ không hiện gì hết, trong trường hợp bạn muốn có hình ảnh mặc định cho bài không có ảnh bạn sử dụng đoạn mã sau

<b:if cond='data:post.firstImageUrl'>
   <img expr:src='data:post.firstImageUrl' expr:title='data:post.title' expr:alt='data:post.title'/>
<b:else/>
   <img src='ĐỊA CHỈ URL HÌNH ẢNH MẶC ĐỊNH' expr:title='data:post.title' expr:alt='data:post.title'/>
</b:if>

bằng việc sử dụng if & else đơn giản, chắc bạn nhìn qua cũng hiểu rồi.

Lời kết

Thủ thuật này mình sử dụng cách lấy dữ liệu ra của blogger bằng các đoạn mã data đơn giản, và tham khảo thêm một chút tại Blogger Template mặc định. Nếu bạn nào muốn biết và tìm hiểu chuyên sâu hơn thì các bạn có thể tham khảo qua chuyên mục Lập trình Blogger có trên blog của mình, và 2 bài viết có liên quan sau đây “Data trong Blogger”, “Thẻ điều kiện Blogger”.