2011-06-06 36 views
1
$MrNode = node_load(array("nid" => 679)); 
$teaser_content = truncate_utf8(strip_tags($MrNode->teaser),400,true,true); 

print $teaser_content; 

上面是我用來加載drupal節點並顯示一定數量的字符的php代碼,但它似乎沒有工作...可以有人請在這件事上給予我幫助?非常感謝!drupal node_load和teaser問題

回答

1

你在使用Drupal 6還是7?你的代碼在Drupal 6的Garland的template.php中可以正常工作。它不適用於Drupal 7,因爲$ node-> teaser不再存在(請參閱http://drupal.org/node/889058)。

這在Drupal 7爲我工作:

$MrNode = node_load(1); 
$teaser_content = truncate_utf8(strip_tags($MrNode->body['und']['0']['summary']),400,true,true); 
print $teaser_content; 

如果您使用D7,你可能也想改變你的node_load參數,所以它需要的節點ID爲整數,而不是一個數組,因爲D7中的默認值似乎發生了變化(請參閱http://api.drupal.org/api/drupal/modules--node--node.module/function/node_load/7)。

您還需要有一個摘要,可以通過致電print_r($MrNode)進行檢查。

當然,這隻在使用D7時纔有用 - 如果您可以指出您使用的是哪個版本,那將有助於發現問題。

+0

非常感謝...我正在使用drupal 6 ...終於有效,問題是沒有爲特定節點定義任何傳情,所以無法打印任何...: ) – 2011-06-06 08:08:49

+0

是的,我遇到過這種情況。很高興它解決了:)。 – 2011-06-06 08:11:55