2010-11-19 20 views
7

Ich habe eine Knoten-ID. In meinem Code möchte ich diesen Knoten mit der Standardvorlage für den Knoten auf dem Bildschirm ausgeben. Wie drucke ich den Knoten auf dem Bildschirm?Drupal Druckknoten von NID

Antwort

10

print_r() funktioniert gut, wenn man nur an der Objektstruktur aussehen soll (und mit Hilfe der devel Modul, das dpm() Funktion, die vergeht, dass die Ausgabe durch Krumo ist sogar besser).

Um die gerenderte Version des Knotens anzuzeigen, sollten Sie die Drupal-API-Funktion aufrufen, die verwendet wird, um ein Knotenobjekt zu übernehmen und alle zum Generieren der Knotenausgabe verwendeten Verarbeitungs- und Themageroutinen auszuführen. In diesem Fall ist es :

node_view(node_load(###)); 
+0

Können Sie nicht theme-Funktion für das verwenden? –

+1

node_view ruft die Design-Funktion auf - ruft aber auch zuerst wichtige Hooks auf, um sicherzustellen, dass der Knoten vollständig ist. http://api.drupal.org/api/drupal/modules--node--node.module/function/node_view/6 – Simon

1
<?php print_r($node); ?> 

Wird der gesamte Knoten gedruckt.

Schauen Sie hier für weitere Informationen: http://drupal.org/node/11816

+0

Sorry, überprüfen Sie hier für Version 6: http://api.drupal.org/api/drupal/modules--node--node.tpl.php/6 nicht viel anders –

4

Da Sie die „Standardvorlage für den Knoten“ verwenden wollen, was ich vorschlagen, dass Sie den Knoten laden, und verwenden Sie dann den Befehl node_view.

Ich persönlich glaube, das ist eine großartige Übung, und ich benutze es ständig auf allen meinen Websites. Das hält meine Thematisierung in den Standard-Drupal-Knoten Thema Dateien (node-node_type.tpl.php)

Beispiel:

$nid = 123; 
$node = node_load($nid); 
$node_tpl_output = node_view($node); 
print $node_tpl_output; // the rendering of node-node_type.tpl.php 

* (Beachten Sie, dass der 2. param der node_view ist ein boolean des Teaser für die Verwendung, die gibt Sie selbst steuern, so dass Sie mehr Knoten-node_type-teaser.tpl.php) *

Wenn Sie sind der Suche angezeigt werden, die Knoteninhalte für Entwicklungszwecke verwenden, gibt es keine Frage, dass Sie das verwenden sollten "Devel" module das wird allo w Sie folgende für jedes Array, Objekt, var usw. zu verwenden:

dpm($node); 

diese Funktion stellt alle Ihre Knoteninformationen und macht es ein Kinderspiel mit dem Krumo Bibliothek navigieren, die verrückt Objekte wie $ debuggen es möglich macht, Ansichten (die unmöglich sind durch eine print_r)

Verwandte Themen