Sto lottando per capire come stampare un corpo di nodo su una pagina.
Normalmente uso qualcosa del genere print $node->field_manufacturer[0]['view'];
ma non sono sicuro di come stampare il corpo di un nodo.
Come posso raggiungerlo?
Sto lottando per capire come stampare un corpo di nodo su una pagina.
Normalmente uso qualcosa del genere print $node->field_manufacturer[0]['view'];
ma non sono sicuro di come stampare il corpo di un nodo.
Come posso raggiungerlo?
Risposte:
È possibile visualizzare l'intera struttura e il contenuto di un nodo scrivendo:
<pre><?php print_r($node); ?></pre>
E quindi scegliere ciò che ritiene appropriato.
Per stampare il corpo del nodo, è necessario utilizzare $node->content['body']['#value']
.
Prova questo per Drupal 7
<?php print render($content['body'])?>
render
verrebbero generalmente utilizzati all'interno dei .tpl.php
modelli per formattare gli elementi utilizzando le informazioni di layout nell'array di rendering, vedere ad esempio themery.com/dgd7/advanced-theming/render
Se $node
è un oggetto nodo ottenuto ad esempio con node_load()
, in Drupal 7 questa è la struttura di $node->body
.
La lingua impostata per il nodo che ho usato nello screenshot è l'inglese e il formato di input è HTML completo. Per quanto posso vedere, il contenuto del corpo è sempre contenuto nell'indice "und", qualunque sia la lingua impostata per il nodo.
In Drupal 6, $node->body
è una stringa.
Se hai implementato hook_nodeapi('view')
(Drupal 6) o hook_node_view()
(Drupal 7), il contenuto del corpo viene trovato, rispettivamente, con $node->content['body']['#value']
e $node->content['body'][0]['#markup']
.
Di solito funziona come segue:
<?php print $node->body['value']; ?>
Forse un po 'in ritardo, ma prova quanto segue, se stai usando Drupal 6.
<?php print $node->content['body']['#value'] ?>