2014-06-24 75 views
0

我有一個包含兩個圖像字段,橫幅和徽標的內容類型。Drupal 7改變節點顯示

我想實現的邏輯,將允許兩個顯示取決於編輯選擇顯示只是橫幅或單選按鈕選項的標誌。

我設置了一個小自定義模塊,實現了hook_node_view,並嘗試從節點對象中取消設置圖像字段,但沒有喜悅。代碼片段如下:

function mymodule_node_view($node, $view_mode, $langcode){ 
    unset($node->field_main_picture[$node->language][0]); 
    unset($node->field_main_picture); 
    $node->field_main_picture = null; 
} 

這些嘗試都沒有奏效。

有什麼建議嗎?

回答

0

我找到了我的問題的答案。

節點對象包含一個名爲的數組,內容這是Drupal將打印到屏幕上的可呈現數據。 這是在我的unsets需要發生的陣列中。 I.E:

 unset($node->content['field_main_picture']); 

並且主圖像圖像消失。

0

當你編程時,我幾乎建議你不要使用Devel模塊。它允許您在頁面中顯示變量並可視化樹。例如,您可以撥打hook_node_view()中的dpm($node)函數以查看$node中的內容以及如何訪問它。