Chức năng load ảnh đầu tiên của bài viết làm thummail trong Drupal

 

Bước 1 : Vào thư mục chứ template của bạn đang dùng tìm và mở file template.php

Bước 2 :  Thêm vào cuối của file hàm sau : hàm này có chức năng trả về url hình ảnh đầu tiên của 1 bài viết bất kì.

 

function get_first_image($content) {

 // $output = preg_match_all('/<img(.*?)src=[\'"]([^\'"]+)[\'"].*>/i',$content, $matches); 

 preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i',$content, $matches);

if(isset($matches[1][0]))

{

      $first_img = $matches[1][0];

      return $first_img;

}

return 'http://i258.photobucket.com/albums/hh242/dominhtrung/ban_rutgon.png';

}

 

->Save

Bước 3 : Tìm đến file node, mở lên tìm đoạn sau : if ($page)

Nội dung nằm trong hàm If này sẽ được hiển thị khi ta truy cập chi tiết 1 node. ví dụ như 1 bài viết.

Kéo xuống dưới tìm cái else của hàm If ở trên, sẽ thấy, nội dung ở trong hàm Else chính là cái chúng ta đang tìm.

Xóa bỏ tất cả trong phần else này, tôi sẽ nói rõ hơn vì sao :DCool

Đây là phần nội dung tóm tắt được hiển thị khi load 1 chuyên mục, vậy chúng ta cần những gì ở đây. 

id node là cái chúng ta cần, có id ta sẽ lấy được content của node đó, title của node là $title, url node là $node_url, cả 2 cái này đều có sẵn, chỉ cần gọi là ra.

Tiếp tục vấn đề, giờ ta sẽ thực hiện lấy nội dung của node bằng các hàm API có sẵn sau: 

$nid = $node->nid;

 $node = node_load($nid);

$body = field_get_items('node', $node, 'body');

$content = $body[0]['value'];

//biến content là nội dung của node.

$thumb = get_first_image($content);

//vậy là chúng ta đã có hình ảnh đầu tiên rồi. Bạn có thể tiếp tục tùy chỉnh nội dung tóm tắt sẽ được hiển thị là những nội dung gì ở đây bằng các hàm substring....

==>Lưu lại và thử nào Laughing

Hết

đỗ minh trung -chopboo.com