أنا أكافح لمعرفة كيفية طباعة نص عقدة على الصفحة.
عادةً ما أستخدم شيئًا مثل هذا 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'])?>
إذا كان $node
كائن عقدة تم الحصول عليه على سبيل المثال مع node_load()
، في Drupal 7 هذا هو هيكل $node->body
.
اللغة التي تم تعيينها للعقدة التي استخدمتها في لقطة الشاشة هي اللغة الإنجليزية ، وصيغة الإدخال هي HTML الكامل. بقدر ما أستطيع أن أرى ، محتوى الجسم موجود دائمًا في فهرس "und" ، أياً كانت اللغة التي تم تعيينها للعقدة.
في Drupal 6، $node->body
عبارة عن سلسلة.
إذا قمت بتطبيق hook_nodeapi('view')
(دروبال 6) أو hook_node_view()
(دروبال 7) ، يتم العثور على محتوى الجسم ، على التوالي ، مع $node->content['body']['#value']
، و $node->content['body'][0]['#markup']
.
دروبال 7:
<?php print $node->body['und'][0]['value'] ?>
ربما متأخر قليلاً ، ولكن جرب ما يلي ، إذا كنت تستخدم Drupal 6.
<?php print $node->content['body']['#value'] ?>
يعمل ما يلي عادةً:
<?php print $node->body['value']; ?>