2011-10-11 84 views
1

我在Drupal 7中創建了一個內容類型的自定義字段,我需要在頁面的單獨區域中顯示該節點以外的內容。在節點外顯示Drupal內容類型字段

與$ title變量的工作方式類似(您可以將它放在page.tpl.php文件所在的位置)我希望能夠創建另一個名爲$ subtitle的變量,它將調用數據當前節點並允許我在page.tpl.php文件的某個區域中輸出變量。

我已經看到一個視圖示例似乎使用視圖和塊來完成這項任務,但這似乎有點過分,並且想知道是否有更簡單的方法。

回答

2

有一種更簡單的方法,你需要記住,儘管不是每個頁面都是節點頁面,並且不是每個節點頁面都是正確的內容類型,所以你應該有選擇性。只需添加到您的主題的template.php文件中:

function mytheme_preprocess_node(&$vars) { 
    $node = $vars['node']; 
    if ($node->type == 'my_type') { 
    $vars['subtitle'] = $node->field_my_field[LANGUAGE_NONE][0]['value']; 
    } 
} 

然後在page.tpl.php你應該做這樣的事情:

if (isset($subtitle)) : 
    echo $subtitle; 
endif; 

確保您清除緩存(在管理/配置/開發/性能)一旦你已經在template.php中實現了鉤子,或者Drupal將不會提取它。

+0

謝謝!工作過一種享受! –

相關問題