2010-08-10 53 views
2

我正在開發一個模塊來顯示視頻。我爲用戶創建了一個所謂的導航視圖,從列表中選擇一個視頻。什麼是向節點添加內容/視圖的最佳方式

現在我想將此導航添加到type ='video'的每個節點。我不知道我是否應該爲它創建一個模板(然後我必須將模板文件放在不太好的主題文件夾中)或使用某種鉤子(我還沒有弄清楚要使用哪一個)?

我試圖安裝http://drupal.org/project/views_attach,但是這個視圖只出現在內容(標題後面),這不是我真正想要的內容。我希望它在標題之上。

請幫忙。我正在使用drupal 6 在此先感謝。

回答

0

我終於找到了如何實現視圖爲塊(簡單地選擇塊作爲內容視圖)和我使用下面的代碼來顯示某個節點類型的塊

<?php 
    $match = FALSE; 
    $types = array('video'=>1); 

    if ((arg(0) == 'node') && is_numeric(arg(1))) { 
    $node = node_load(arg(1)); 
    $match = isset($types[$node->type]); 
    } 
    return $match 
} 
?> 
0

聽起來就像你剛剛創建導航塊的任何方式,並告訴塊只顯示在顯示規則中使用php的視頻節點類型。也許menu_block模塊可以在這裏幫助你。

+0

你的意思是hook_block? – w00d 2010-08-10 15:40:49

+0

不,有一個稱爲菜單塊的模塊,可讓您輕鬆添加導航。 http://drupal.org/project/menu_block – Kevin 2010-08-10 16:56:57

0

您可以使用views_embed_view在節點模板中的任意位置渲染視圖。

創建一個特定於您的視頻節點類型的模板:node-video.tpl.php並在您想要的位置插入視圖。

+0

我以前見過這個建議,對於簡單的看法,它運作良好。如果您的視圖拉入額外的css或js文件(如jcarousel視圖插件),則tpl文件中的views_embed_view在頁面生成鏈中發生得太晚,無法支持將文件添加到頁面標記中。 – 2010-08-10 20:48:33

+0

@googletop我之前遇到過這個,但正如我所提到的,我不想將該文件放在主題文件夾中。我寫了一個模塊,所以我希望它是可以安裝的。如果我使用模板,我怎樣才能將它安裝在其他網站? – w00d 2010-08-11 00:57:10

0

如果您不想通過模板文件進行操作,可以使用面板模塊爲每個節點類型設置不同的佈局。一旦你安裝了它,在node_view面板下創建一個變體,並限制爲'video'類型的節點選擇變體

相關問題