Wie drucke ich den Körper eines Knotens? [geschlossen]


11

Ich habe Probleme damit, herauszufinden, wie ein Knotenkörper auf einer Seite gedruckt wird.

Normalerweise verwende ich so etwas print $node->field_manufacturer[0]['view'];, bin mir aber nicht sicher, wie ich den Körper eines Knotens drucken soll.

Wie kann ich das erreichen?

Antworten:


3

Sie können die gesamte Struktur und den Inhalt eines Knotens anzeigen, indem Sie Folgendes schreiben:

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

Und dann wählen, was angemessen erscheint.

Um den Knotenkörper zu drucken, sollten Sie verwenden $node->content['body']['#value'].


Ich habe das versucht. Es werden alle Informationen angezeigt. Speziell das benutzerdefinierte Feld, das ich erstellt habe. Aber ich bin mir nicht sicher, wie ich den Körper drucken soll (ein Feld, das immer da ist).
Sam Warren

1
Ich würde meine eigenen Fragen beantworten, aber Einschränkungen, die mich aufhalten: # Das hat bei mir funktioniert: print $ node-> content ['body'] ['# value'];
Sam Warren

16

Für Drupal 7 ist es besser, field_get_items zu verwenden. Z.B:

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

14

Versuchen Sie dies einfach für Drupal 7

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

Hallo und herzlich willkommen. Nur-Code-Antworten sind nicht die bestmöglichen. Können Sie erklären, wie genau dieses Snippet das Problem des OP beantworten soll?
Mołot

renderwird normalerweise in .tpl.phpVorlagen verwendet, um die Elemente mithilfe von Layoutinformationen im Render-Array zu formatieren, siehe z. B. themery.com/dgd7/advanced-theming/render
Maine,

10

Wenn $nodeein Knotenobjekt beispielsweise mit erhalten wird node_load(), ist dies in Drupal 7 die Struktur von $node->body.

Bildschirmfoto

Die Sprache für den Knoten, den ich im Screenshot verwendet habe, ist Englisch, und das Eingabeformat ist vollständiges HTML. Soweit ich sehen kann, ist der Inhalt des Körpers immer im "und" -Index enthalten, unabhängig davon, welche Sprache für den Knoten festgelegt wurde.

In Drupal 6 $node->bodyist eine Zeichenfolge.

Wenn Sie hook_nodeapi('view')(Drupal 6) oder hook_node_view()(Drupal 7) implementiert haben, wird der Inhalt des Körpers mit $node->content['body']['#value']und gefunden $node->content['body'][0]['#markup'].

Bildschirmfoto


3

Drupal 7:

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

LANGUAGE_NONE statt und
GwenM

0

Folgendes funktioniert normalerweise:

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

Hab das gerade versucht. Es werden keine Fehler angezeigt, aber es werden auch keine Inhalte angezeigt, außer einem ">". Gibt es eine Idee, was dies verursachen könnte?
Sam Warren

0

Vielleicht etwas spät, aber versuchen Sie Folgendes, wenn Sie Drupal 6 verwenden.

     <?php print $node->content['body']['#value'] ?>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.