ฉันพยายามหาวิธีพิมพ์เนื้อหาของโหนดบนหน้าเว็บ
ปกติฉันจะใช้สิ่งนี้print $node->field_manufacturer[0]['view'];
แต่ฉันไม่แน่ใจว่าจะพิมพ์เนื้อหาของโหนดได้อย่างไร
ฉันจะทำให้สำเร็จได้อย่างไร
ฉันพยายามหาวิธีพิมพ์เนื้อหาของโหนดบนหน้าเว็บ
ปกติฉันจะใช้สิ่งนี้print $node->field_manufacturer[0]['view'];
แต่ฉันไม่แน่ใจว่าจะพิมพ์เนื้อหาของโหนดได้อย่างไร
ฉันจะทำให้สำเร็จได้อย่างไร
คำตอบ:
คุณสามารถดูโครงสร้างทั้งหมดและเนื้อหาของโหนดโดยการเขียน:
<pre><?php print_r($node); ?></pre>
จากนั้นเลือกสิ่งที่เห็นสมควร
$node->content['body']['#value']
หากต้องการพิมพ์ร่างกายโหนดคุณควรใช้
สำหรับ Drupal 7 สไตล์ที่ดีกว่าคือการใช้ field_get_items เช่น:
<?php
$body = field_get_items('node',$node, 'body');
print $body[0]['value'];
?>
ลองทำสิ่งนี้กับ Drupal 7
<?php print render($content['body'])?>
render
โดยทั่วไปแล้วจะใช้ภายใน.tpl.php
เทมเพลตเพื่อจัดรูปแบบองค์ประกอบโดยใช้ข้อมูลเลย์เอาต์ในเรนเดอร์เรนเดอร์ดูตัวอย่างเช่นthemery.com/dgd7/advanced-theming/render
หาก$node
เป็นวัตถุโหนดได้เช่นกับnode_load()
ใน Drupal 7 $node->body
นี้เป็นโครงสร้างของ
ภาษาที่ตั้งค่าสำหรับโหนดที่ฉันใช้ในหน้าจอเป็นภาษาอังกฤษและรูปแบบการป้อนข้อมูลเป็น HTML แบบเต็ม เท่าที่ฉันเห็นเนื้อหาของเนื้อหาจะอยู่ในดัชนี "und" ไม่ว่าจะตั้งค่าภาษาอะไรสำหรับโหนด
ใน Drupal 6 $node->body
เป็นสตริง
หากคุณดำเนินการhook_nodeapi('view')
(Drupal 6) หรือhook_node_view()
(Drupal 7) เนื้อหาของร่างกายที่พบตามลำดับโดยมีและ$node->content['body']['#value']
$node->content['body'][0]['#markup']
งานดังต่อไปนี้มักจะ:
<?php print $node->body['value']; ?>
อาจจะสายไปสักหน่อย แต่ลองทำสิ่งต่อไปนี้ถ้าคุณใช้ Drupal 6
<?php print $node->content['body']['#value'] ?>