2011-10-07 43 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

相关问题