2011-10-07 83 views
0

我在一個節點中,我使用「引用」模塊創建了一個字段,以將一種內容類型與另一種內容類型相關聯。現在... 2內容類型是「練習」(標題爲節點,說明ecc ...)和「TECHNOLOGY」,一個只有徽標圖像的節點。我想將相關標識顯示在節點 - practise.tpl.php中。我如何在DP7中做到這一點?如何在Drupal 7中使用nodeload打印引用節點字段?

回答

0

我不會直接在模板文件中完成它,而是在主題的template.php文件中實現hook_preprocess_node以將徽標作爲變量傳遞。該邏輯是相同的兩種方式:

function mytheme_preprocess_node(&$vars) { 
    $node = $vars['node']; 

    if ($node->type == 'practise') { 
    $related_node_nid = $node->field_related_field_name['und'][0]['nid']; 
    $related_node = node_load($related_node_nid); 

    $logos = ''; 
    foreach ($related_node->field_logo_field_name['und'] as $img) { 
     $logos .= theme('image', array('path' => $img['uri'], 'alt' => 'Alt text')); 
    } 
    $vars['related_logos'] = $logos; 
    } 
} 

然後在你的template.php文件中,你將有可變$logos其中將包含您在preprocess功能建立了標誌的列表。顯然,您可以定製HTML以滿足您的需求,並且您需要交換正確的字段名稱field_related_field_namefield_logo_field_name