kết xuất hoặc in hình ảnh trong một nút.tup 7 drupal?


15

Tôi đang cố gắng tạo chủ đề cho một nút bằng tpl và khi tôi cố in hình ảnh, tôi không thể tìm thấy đường dẫn hình ảnh như trong d6 .. chức năng nào tôi phải gọi để xuất hình ảnh đúng cách .. Ý tôi là một cái gì đó giống như chủ đề ('')?

Array
(
    [und] => Array
        (
            [0] => Array
                (
                    [fid] => 13
                    [alt] => 
                    [title] => 
                    [width] => 416
                    [height] => 335
                    [uid] => 1
                    [filename] => Capture2.PNG
                    [uri] => public://Capture2.PNG
                    [filemime] => image/png
                    [filesize] => 215377
                    [status] => 1
                    [timestamp] => 1346837738
                    [rdf_mapping] => Array
                        (
                        )

                )

        )

)

Câu trả lời:


33
<?php print render($content['field_image']); ?>

Nếu bạn muốn thay đổi cách hiển thị hình ảnh (kích thước, liên kết, v.v.), hãy đặt chúng trong tab Quản lý hiển thị trong cài đặt loại nút.

Bạn cũng có thể thực hiện cài đặt trước hình ảnh như thế này:

<?php
print theme('image_style', array('path' => $node->field_image[LANGUAGE_NONE][0]['uri'], 'style_name' => [STYLE NAME]));
?>

Nhưng đó không phải là cách được khuyến nghị!

nếu bạn muốn xây dựng URL từ URI,

<img src="<?php print file_create_url($node->field_image[LANGUAGE_NONE][0]['uri']); ?>" />

cảm ơn, câu trả lời của bạn bao gồm tất cả mọi thứ Điều này nên có trong tài liệu của drupal.org :)
Serjas

Luôn luôn là một ý tưởng tốt để sử dụng LANGUAGE_NONE thay vì 'und'
qasimzee

Tôi biết tôi đang đánh một con ngựa chết, nhưng nếu bạn thực hiện cách tiếp cận thứ hai, làm thế nào bạn có thể đảm bảo bạn nhận được kết quả không phải là 404?
Cameron Kilgore

3

Đối với những người sử dụng mô-đun file_entity (có lẽ với mô-đun phương tiện ), bạn có thể tự hỏi làm thế nào để hiển thị các tệp / hình ảnh theo chương trình:

$image = (object) $node->field_image[ LANGUAGE_NONE ][0];
$image_entity = file_view($image, "summary");
echo drupal_render($image_entity);

Trong đó "field_image" là tên trường của bạn và "tóm tắt" là chế độ xem của bạn.


không hoạt động với tôi, nhưng cần thiết để đặt kiểu trên $ image_entity ['file'] ['# style_name'] một lần nữa ..
rémy 18/03/2016

Bạn không nên mã hóa khóa ngôn ngữ.
AlxVallejo

1

Nếu bạn muốn chỉ hiển thị hình ảnh với kiểu hình ảnh được đặt cho hình ảnh đó trong màn hình quản lý: Chỉ cần nhập <?php print_render($content['field_image']) ?>

Nếu bạn muốn hiển thị hình ảnh với bất kỳ kiểu hình ảnh nào khác, bạn có SUPPOSE: 'sales_album' thì gõ:

list($albumImage) = field_get_items('node', $album, 'uc_product_image');

$albumImageUrl = file_create_url($albumImage['uri']);

$style_array = array('path' => $albumImage['uri'], 'style_name' => 'sales_album');

$render_album_image = theme('image_style', $style_array);

print $render_album_image;

1

Khi sử dụng mô-đun trường , tôi thấy điều này tốt hơn:

trong trang - yourcontenttype.tpl.php:

<?php
  $this_field_image = field_view_field('node',$node,'field_image');
  print render($this_field_image);?>
?>

sử dụng field_view_field () cung cấp các lợi thế bổ sung, theo đó người ta có thể đặt một loạt các cài đặt hiển thị:

<?php
  $hide_labels = array('label'=>'hidden');
  $this_field_image = field_view_field('node',$node,'field_image', $hide_labels);
  print render($this_field_image);?>
?>

https://api.drupal.org/api/drupal/modules%21field%21field.module/feft/field_view_field/7.x


0
$img_url = $node->field_name['und'][$i]['uri'];
print image_style_url("style_name", $img_url);

$itrong trường hợp bạn có nhiều hình ảnh để hiển thị. Bạn có thể sử dụng một vòng lặp for như:

for($i=0;$i < $imageCount; $i++) { /*the above code*/ }

$imageCountvề cơ bản được khai báo ở trên cho vòng lặp là

$images = array();<br>
$imageCount= count($node->field_image['und']);

Hi vọng điêu nay co ich!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.