मैं नोड के शरीर को कैसे प्रिंट करूं? [बन्द है]


11

मैं एक पृष्ठ पर नोड बॉडी को प्रिंट करने का तरीका जानने के लिए संघर्ष कर रहा हूं।

मैं सामान्य रूप से कुछ इस तरह का उपयोग करता हूं, print $node->field_manufacturer[0]['view'];लेकिन मैं अनिश्चित हूं कि नोड के शरीर को कैसे प्रिंट किया जाए।

मैं इसे कैसे प्राप्त कर सकता हूं?

जवाबों:


3

आप एक नोड की पूरी संरचना और सामग्री को लिखकर देख सकते हैं:

<pre><?php print_r($node); ?></pre>

और फिर जो उपयुक्त हो उसे चुनना।

नोड बॉडी को प्रिंट करने के लिए, आपको उपयोग करना चाहिए $node->content['body']['#value']


मैंने वह कोशिश की है। यह सभी जानकारी लाता है। विशेष रूप से कस्टम क्षेत्र मैंने बनाया है। लेकिन मैं अनिश्चित हूं कि शरीर को कैसे प्रिंट किया जाए (ऐसा क्षेत्र जो हमेशा बना रहता है)।
सैम वॉरेन

1
आईडी मेरे स्वयं के प्रश्नों का उत्तर देती है, लेकिन प्रतिबंध मुझे रोकते हैं: # इसने मेरे लिए काम किया: $ $ प्रिंट-> सामग्री ['शरीर'] ['# मूल्य'];
सैम वॉरेन

16

Drupal 7 के लिए, एक बेहतर शैली का उपयोग field_get_items है। उदाहरण के लिए:

<?php
  $body = field_get_items('node',$node, 'body');
  print $body[0]['value'];
?>

14

बस Drupal 7 के लिए यह प्रयास करें

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

नमस्ते और आपका स्वागत है। कोड-ओनली उत्तर संभव नहीं हैं। क्या आप बता सकते हैं कि यह स्निपेट ओपी के मुद्दे का जवाब देने के लिए कैसा है?
मोलॉट

renderआमतौर पर .tpl.phpटेम्प्लेट के अंदर इस्तेमाल किया जाएगा , ताकि रेंडर सरणी में लेआउट जानकारी का उपयोग करने वाले तत्वों को प्रारूपित किया जा सके , उदाहरण के लिए themery.com/dgd7/advanced-theming/render
Maine

10

यदि ड्रुपल 7 में $nodeउदाहरण के लिए एक नोड ऑब्जेक्ट प्राप्त किया जाता है node_load(), तो यह संरचना है $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']

स्क्रीनशॉट



0

निम्नलिखित आमतौर पर काम करता है:

<?php print $node->body['value']; ?>

बस यही कोशिश की। कोई त्रुटि दिखाई नहीं देती है और न ही ">" को छोड़कर कोई भी सामग्री किसी भी तरह की नहीं होती है?
सैम वॉरेन

0

शायद थोड़ा देर से, लेकिन निम्न का प्रयास करें, यदि आप Drupal 6 का उपयोग कर रहे हैं।

     <?php print $node->content['body']['#value'] ?>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.