Bagaimana cara mencetak isi node? [Tutup]

11

Saya berjuang untuk mengetahui cara mencetak badan simpul pada halaman.

Saya biasanya menggunakan sesuatu seperti ini print $node->field_manufacturer[0]['view'];tetapi saya tidak yakin bagaimana cara mencetak tubuh sebuah node.

Bagaimana saya bisa mencapainya?

Sam Warren
sumber

Jawaban:

3

Anda dapat melihat seluruh struktur dan konten sebuah simpul dengan menulis:

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

Dan kemudian memilih apa yang dianggap tepat.

Untuk mencetak tubuh simpul, Anda harus menggunakan $node->content['body']['#value'].

crenate
sumber
Saya sudah mencobanya. Ini memunculkan semua informasi. Khususnya bidang khusus yang saya buat. Tapi saya tidak yakin bagaimana cara mencetak bodi (bidang yang selalu ada).
Sam Warren
1
Id menjawab pertanyaan saya sendiri tetapi batasan menghentikan saya: # ini berfungsi untuk saya: print $ node-> content ['body'] ['# value'];
Sam Warren
16

Untuk Drupal 7, gaya yang lebih baik adalah dengan menggunakan field_get_items. Misalnya:

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

Coba saja ini untuk Drupal 7

<?php print render($content['body'])?>
nxplace
sumber
Halo dan selamat datang. Jawaban khusus kode bukan yang terbaik. Bisakah Anda menjelaskan bagaimana sebenarnya potongan ini seharusnya menjawab masalah OP?
Mołot
renderakan biasanya digunakan di dalam .tpl.phptemplat untuk memformat elemen menggunakan informasi tata letak di array render, lihat misalnya themery.com/dgd7/advanced-theming/render
Maine
10

Jika $nodeobjek node diperoleh misalnya dengan node_load(), dalam Drupal 7 ini adalah struktur $node->body.

tangkapan layar

Bahasa yang ditetapkan untuk simpul yang saya gunakan dalam tangkapan layar adalah bahasa Inggris, dan format input adalah HTML lengkap. Sejauh yang saya bisa lihat, isi tubuh selalu terkandung dalam indeks "und", bahasa apa pun yang telah ditetapkan untuk node.

Dalam Drupal 6, $node->bodyadalah string.

Jika Anda menerapkan hook_nodeapi('view')(Drupal 6) atau hook_node_view()(Drupal 7) konten tubuh ditemukan, masing-masing, dengan $node->content['body']['#value'], dan $node->content['body'][0]['#markup'].

tangkapan layar

kiamlaluno
sumber
3

drupal 7:

 <?php print $node->body['und'][0]['value'] ?>
Matoeil
sumber
LANGUAGE_NONE bukannya und
GwenM
0

Berikut ini biasanya berfungsi:

<?php print $node->body['value']; ?>
Sam152
sumber
Baru saja mencobanya. Tidak ada kesalahan yang muncul tetapi tidak ada konten sama sekali kecuali "" "Tahu apa yang menyebabkan ini?
Sam Warren
0

Mungkin sedikit terlambat, tetapi coba yang berikut ini, jika Anda menggunakan Drupal 6.

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