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?

Sam Warren
quelle

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

krenieren
quelle
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'];
?>
Druvision
quelle
14

Versuchen Sie dies einfach für Drupal 7

<?php print render($content['body'])?>
nxplace
quelle
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

kiamlaluno
quelle
3

Drupal 7:

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

Folgendes funktioniert normalerweise:

<?php print $node->body['value']; ?>
Sam152
quelle
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'] ?>
Mark Conroy
quelle