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?

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'].


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'];
?>

14

Coba saja ini untuk Drupal 7

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

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


3

drupal 7:

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

LANGUAGE_NONE bukannya und
GwenM

0

Berikut ini biasanya berfungsi:

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

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'] ?>
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.