我在一个节点中,我使用“引用”模块创建了一个字段来将一个内容类型与另一个关联起来。现在..。这两种内容类型是"PRACTISE“(带有标题、描述ECC...节点)和“技术”,一个只有徽标图像的节点。我想在节点--practise.tpl.php中显示相关的徽标。我如何在DP7中做到这一点?
发布于 2011-10-08 01:20:40
我不会直接在模板文件中这样做,相反,最好在主题的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换入正确的字段名。
https://stackoverflow.com/questions/7688002
复制相似问题