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


9

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?

Câu trả lời:


7

Để 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();

Hãy loot cũng tại http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way


4

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

<?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.


3

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

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.