it-swarm-vi.com

Làm thế nào để có được giá trị của một trường nút?

Trong node.tpl.php tôi đang cố gắng lấy giá trị thô nhưng vấn đề là khi tôi sử dụng render:

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

nó không chỉ trả về giá trị field_image mà còn định dạng và xuất ra toàn bộ hình ảnh.

Tôi cần một cách để chỉ nhận giá trị thô của trường. Làm thế nào tôi có thể đạt được điều này?

9
Yalamber

Để có được giá trị thực và không phải là một chủ đề ...

Bạn có thể sử dụng http://api.drupal.org/api/drupal/modules!field!field.module/feft/field_get_items/7

 $my_field_items = field_get_items('node', $node, 'field_my_field');

Hoặc sử dụng mô-đun Entity API và entity_metadata_wrapper

 $node_wrapper = entity_metadata_wrapper('node', $node);
 $field_val = $node_wrapper->field_test->value();

Cũng có một chiến lợi phẩm tại http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way

7
gagarine

Trong mẫu nút, đối với các giá trị thô, bạn có thể truy cập đối tượng $node.

<?php print $node->field_price; ?>

Nếu bạn cần xem cấu trúc, có thể làm <?php print_r($node); ?>.

Ngoài ra, nếu đây là một loại nội dung cụ thể, bạn nên sử dụng một biến thể của node.tpl.php thay vì node.tpl.php nếu không nó sẽ cố gắng hiển thị các trường không tồn tại trên các loại nội dung khác.

4
Laxman13

bật mô-đun Devel và sử dụng nút- {content-type} .tpl.php

<?php print dsm($node); ?>

trên đầu mã.

bạn có thể thấy tất cả các trường nút $ ở định dạng có thể đọc được

3
Mohammad Ali Akbari