10/10/2018, 11:38

tạo thumbnails bằng php cho drupal 7

hiện mình đang mò mẫm về cms drupal 7.x và đang vướng phần code tạo thumbnails cho bài viết của site, bạn nào đã xử lý qua vụ này rồi có thể hướng dẫn mình được ko, tìm mãi hơn 2 tuần rồi mà chưa ra .

trong core của drupal 7 thì cũng có phần tạo thumbnail cho img được upload lên host, nhưng mà mình dùng luôn cái ảnh trong bài viết để tạo thumbnail thì lại không có hướng dẫn và code mình cũng không biết nên nhờ các bạn giúp đỡ với.
ngoc_ann_00 viết 13:54 ngày 10/10/2018
vậy bạn lọc nội dung bài viết để lấy ảnh,dùng regular expression
vd:
Code:
function splitImg($content){
	preg_match_all("/\<[^>]*img[^>]*\>/s", $content, $img );
	return $img[0];
}
Mình ko dùng Drupal nên ko thể hướng dẫn chi tiết hơn được
Loc_rabbirt viết 13:52 ngày 10/10/2018
thanks bạn ngoc_ann_00
, hic lọc ra xong insert function vào template rồi gọi ra như thế nào đây , ai biết chi tiết bày mình với .
concop viết 13:44 ngày 10/10/2018
Mình thì chưa xài Drupal nên ko bít hướng dẫn ra sao. Nhưng bạn thử xem những demo này có giúp ích cho bạn ko? cách sử dụng rất đơn giản. Dùng timthumb PHP:

Demo đây: binarymoon*co*uk/demo/timthumb-basic (* đổi thành . nha)
Loc_rabbirt viết 13:44 ngày 10/10/2018
cảm ơn bạn nhé, vì mình không biết về code nên mình cũng đã lục google thêm hiểu biết cơ bản của mình, và hình như mình cũng có sử dụng timthumb này nhưng nó là 1 kiểu chèn 1 file php vào folder gốc của site để thay đổi lại định dạng hiển thị của index, tiếc là mình cũng thử rồi nhưng không hiệu quả vì drupal nó phân ra ở theme thì phải vào theme hiển thị thế mới khổ chứ , ở index chỉ có mỗi file index với vài dòng gọi các function có sẵn trong teentheme.info rồi

teentheme.info gọi các function trong teamplate.php ra để thực thi, nó kết hợp với các hook để tạo liên kết.

mình hiểu sơ sơ vậy thôi, dù sao cũng cảm ơn bạn đã giúp đỡ.
pbn viết 13:39 ngày 10/10/2018
Cách tốt nhất là hook vào function presave của drupal để insert hình vào database y như khi bạn upload lên bằng tay. Khi đó bạn có thể dễ dàng dùng image style của drupal để tạo thumbnail
Loc_rabbirt viết 13:54 ngày 10/10/2018
Được gửi bởi pbn
Cách tốt nhất là hook vào function presave của drupal để insert hình vào database y như khi bạn upload lên bằng tay. Khi đó bạn có thể dễ dàng dùng image style của drupal để tạo thumbnail
bạn có thể hướng dẫn mình cách hook đc không mình chưa hiểu lắm về hook, suy nghĩ đơn giản của mình thì hook là một loại mốc và nó mốc cái này với cái kia lại để làm thành một chuỗi hành động để đạt được mục đích của người viết .

còn function presave của drupal thì phải đụng vào api à, chắc như thế thì mình không làm nổi vì trình độ mình thuộc dạng gà con , nếu bạn rãnh bạn có thể viết hướng dẫn chi tiết hơn giúp mình với.

insert vào database nghĩa là vẫn phải upload hình lên host à, mình muốn giảm tải cho host ( vì mình đang dùng ké ) nên nếu insert vào database nghĩa là nó vẫn phải up lên host thì cách đó mình không thể sử dụng được.

cảm ơn bạn.
pbn viết 13:47 ngày 10/10/2018
Vậy thì bạn làm như sau:

Sửa file template.php thêm function:

Code:
function splitImg($content){
      preg_match_all("/\<[^>]*img[^>]*\>/s", $content, $img ); 
      return $img[0]; 
}
Như của bạn ngoc_ann_00 ở trên.

Vậy là trong các file tpl bạn có thể sử dụng function splitImg để tách hình trong bài viết ra để cho hiển thị.
windowxpsp1 viết 13:40 ngày 10/10/2018
Cái này mình nghĩ bạn nên dùng view để tạo Block , sau đó đưa vào Region nào bạn muốn .
Loc_rabbirt viết 13:39 ngày 10/10/2018
Được gửi bởi windowxpsp1
Cái này mình nghĩ bạn nên dùng view để tạo Block , sau đó đưa vào Region nào bạn muốn .
mình chưa rành view lắm, nên dùng view tạo block mình không rành .
Bài liên quan
0