我在一个节点中,我使用“引用”模块创建了一个字段,以将一种内容类型与另一种内容类型相关联。现在...... 2内容类型是“PRACTICE”(具有标题的节点,描述ecc ...)和“技术”,只有徽标图像的节点。我想在node - practise.tpl.php中显示相关的徽标。我怎么能在DP7中做到这一点?
答案 0 :(得分: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_name
和field_logo_field_name
交换正确的字段名称。