it-swarm-vi.com

Sử dụng theme_image_style ()

Tôi đang cố gắng hiển thị hình thu nhỏ của hình ảnh được tải lên ở dạng tùy chỉnh. Mặc dù tôi có thể thấy các hình ảnh trong mảng biểu mẫu của mình sau khi tải chúng lên thư mục tmp trong Drupal, đây là những gì tôi đang cố gắng sử dụng để hiển thị chúng:

$url = file_create_url($form_object->uploads[$key]->uri);
$output .= '<div class="grid-3">'.theme_image_style(array('style' => 'form-preview', 'path' => $url)).'</div>';

Trong khi $url Chỉ vào tài nguyên tệp, tôi không thể hiển thị hình ảnh đã thay đổi kích thước cho cuộc sống của tôi. Nếu tôi sử dụng thẻ img và đặt $url Làm nguồn của nó, hình ảnh sẽ hiển thị, nhưng chúng rất lớn.

Tôi không thể gọi theme_image_style() vì đây chỉ là hình ảnh tạm thời và không vĩnh viễn? Tôi có thể làm cho chúng xuất hiện với theme_image().

6
Kevin

Theo đề xuất, sử dụng chủ đề ('image_style', ...), từ các tài liệu - chỉ cần thay đổi mã của bạn thành này:

url = file_create_url($form_object->uploads[$key]->uri);
$output .= '<div class="grid-3">'.theme('image_style', array('style_name' => 'form-preview', 'path' => $url)).'</div>';
4
ipwa

Như mọi khi, tài liệu Drupal có câu trả lời. Bạn cần di chuyển tệp vào thư mục tệp. Ngoài ra, bạn nên không bao giờ gọi trực tiếp chức năng chủ đề mà thay vào đó hãy gọi hàm hàm bao theme chức năng như vậy:

theme_image_style(...) // Don't do this ever

theme('image_style', ...) // Do it like this and make themers happy.

Từ các tài liệu API:

$ biến Một mảng kết hợp có chứa:

  • style_name: Tên của phong cách sẽ được sử dụng để thay đổi hình ảnh gốc.
  • đường dẫn: Đường dẫn của tệp hình ảnh liên quan đến thư mục Drupal. Hàm này không hoạt động với hình ảnh bên ngoài thư mục tệp cũng như với hình ảnh được lưu trữ từ xa.
  • alt: Văn bản thay thế cho các trình duyệt dựa trên văn bản.
  • tiêu đề: Văn bản tiêu đề được hiển thị khi hình ảnh được di chuột trong một số trình duyệt phổ biến.
  • các thuộc tính: Mảng liên kết của các thuộc tính sẽ được đặt trong thẻ img.
9
googletorp

tốt hơn là thêm lớp của bạn với attributes thuộc tính giống như

theme_image_style(array('style' => 'form-preview', 'path' => $url,'attributes'=>array('class'=>array('class1', 'class2')));
1
Yusef

Tôi đã phải giải quyết vấn đề này để phục vụ các tệp từ các trang web/tất cả/mô-đun và câu trả lời có thể được nhìn thấy trong Kiểu hình ảnh chủ đề cho hình ảnh nằm trong thư mục mô-đun

Liên quan đến việc tạo một cuộc gọi lại chủ đề tùy chỉnh xử lý bất kỳ tệp nào và tạo các dẫn xuất hình ảnh trong khi thực hiện yêu cầu trang, do đó bạn liên kết trực tiếp đến tệp thay vì thực hiện yêu cầu không đồng bộ tạo hình ảnh.

Đề nghị tốt hơn/giải pháp chào mừng!

0
Alan D.