วิธีรับค่าของเขตข้อมูลโหนด


9

ใน node.tpl.php ฉันพยายามรับค่า raw แต่ปัญหาคือเมื่อฉันใช้การแสดงผล:

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

มันไม่เพียงแค่ส่งคืนค่า field_image แต่จัดรูปแบบและแสดงผลภาพทั้งหมด

ฉันต้องการวิธีในการรับค่าดิบของฟิลด์เท่านั้น ฉันจะบรรลุสิ่งนี้ได้อย่างไร

คำตอบ:


7

เพื่อให้ได้มูลค่าที่แท้จริงไม่ใช่ชุดรูปแบบ ...

คุณสามารถใช้http://api.drupal.org/api/drupal/modules!field!field.module/function/field_get_items/7

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

หรือใช้โมดูล Entity API และ entity_metadata_wrapper

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

รับของขวัญได้ที่http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way


4

ในเทมเพลตโหนดสำหรับค่าดิบคุณสามารถเข้าถึง$nodeวัตถุ

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

<?php print_r($node); ?>หากคุณต้องการที่จะเห็นโครงสร้างที่สามารถทำ

นอกจากนี้หากใช้สำหรับประเภทเนื้อหาเฉพาะคุณควรใช้รูปแบบของ node.tpl.php แทน node.tpl.php เองมิฉะนั้นจะพยายามแสดงฟิลด์ที่ไม่มีอยู่ในประเภทเนื้อหาอื่น ๆ


3

เปิดใช้งานโมดูล Devel และในการใช้งาน node- {content-type} .tpl.php

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

ด้านบนของรหัส

คุณสามารถเห็นฟิลด์ $ node ทั้งหมดในรูปแบบที่อ่านได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.