it-swarm.asia

كيف أطبع نص العقدة؟

أنا أكافح لمعرفة كيفية طباعة نص عقدة على الصفحة.

عادةً ما أستخدم شيئًا مثل هذا print $node->field_manufacturer[0]['view']; لكني غير متأكد من كيفية طباعة نص العقدة.

كيف يمكنني تحقيق ذلك؟

11
Sam Warren

يمكنك عرض بنية العقدة ومحتواها بالكامل عن طريق كتابة:

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

ثم اختيار ما تراه مناسبا.

لطباعة نص العقدة ، يجب استخدام $node->content['body']['#value'].

3
crenate

بالنسبة إلى Drupal 7 ، من الأفضل استخدام field_get_items. على سبيل المثال:

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

جرب هذا فقط لـ Drupal 7

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

إذا كان $node كائن عقدة تم الحصول عليه على سبيل المثال مع node_load() ، في Drupal 7 هذا هو هيكل $node->body.

screenshot

اللغة التي تم تعيينها للعقدة التي استخدمتها في لقطة الشاشة هي اللغة الإنجليزية ، وصيغة الإدخال هي HTML الكامل. بقدر ما أستطيع أن أرى ، محتوى الجسم موجود دائمًا في فهرس "und" ، أياً كانت اللغة التي تم تعيينها للعقدة.

في Drupal 6، $node->body عبارة عن سلسلة.

إذا قمت بتطبيق hook_nodeapi('view') (دروبال 6) أو hook_node_view() (دروبال 7) ، يتم العثور على محتوى الجسم ، على التوالي ، مع $node->content['body']['#value'] ، و $node->content['body'][0]['#markup'].

screenshot

10
kiamlaluno

دروبال 7:

 <?php print $node->body['und'][0]['value'] ?>
3
Matoeil

ربما متأخر قليلاً ، ولكن جرب ما يلي ، إذا كنت تستخدم Drupal 6.

     <?php print $node->content['body']['#value'] ?>
0
Mark Conroy

يعمل ما يلي عادةً:

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