比方說,我有兩種內容類型,建議和操作。一個提案會包含多個操作,但操作也應該可以單獨查看。每個包含幾個文本字段和鏈接。在Drupal中,如何在一個節點中包含另一個節點?
建議和動作都應該是節點嗎?我會如何去做這件事?
比方說,我有兩種內容類型,建議和操作。一個提案會包含多個操作,但操作也應該可以單獨查看。每個包含幾個文本字段和鏈接。在Drupal中,如何在一個節點中包含另一個節點?
建議和動作都應該是節點嗎?我會如何去做這件事?
在drupal中本質上沒有父母/子女關係。您可以使用CCK的節點參考和一些創意視圖來構建這些內容。
嘗試使用視圖塊顯示。您需要爲視圖創建一個塊顯示,該視圖顯示與相應提議節點相關的所有操作節點(或者您需要多少操作節點)(您需要將視圖參數設置爲如下所示:Nid - 提供默認參數 - 節點ID來自URL)。然後將此塊附加到代表您的提案頁面的頁面。
有許多這樣做的方法,與Drupal的大多數事情,但如果是我,我會做到這一點:
編輯:是的,他們都應該是節點。
如果您使用此方法,那麼一旦它被設置你將不得不進入你的建議和選擇你想成爲「載」哪些動作(即鏈接)。
然後打印出來,你會希望類似的一些代碼來
<?php
$actions = $node->field_name_of_your_actions_link_field;
foreach($actions as $action){
$anAction = node_load($action[nid]);
$output .= $anAction->the_bit_you_need_to_get[0][content];
}
?>
當然變量名稱會有所不同,但希望這將指向你在正確的方向
不是在模板文件中加載子項,使用hook_nodeapi並在加載父節點時加載子項的數據不會更好嗎?將字段添加到父節點對象?然後,無論您使用父級,都可以使用子級數據。 – Graham 2010-12-17 14:34:42
你調查過模塊視圖?它非常強大,可以讓你幾乎顯示任何東西。
如果你使用的觀點,你會做一些與此類似:兩個內容類型和分類詞彙的行動配合,以提案(因此,把上的動作內容類型術語參考場)。
然後,您將創建一個頁面視圖,它將按內容類型提議進行過濾。您可以添加提案中的所有字段,然後對它們進行排序並執行您的CSS以讓它們顯示您的想法。
然後,你將有另一種觀點認爲,這一次的塊,而這將列出你的操作,所以你會通過內容類型進行篩選。然後,您將添加一個上下文篩選器以獲取已加載的節點的分類。一旦您在提案頁面上顯示此塊,它應該顯示其操作的鏈接。
我認爲這基本上涵蓋了它,這一點很難,而無需實際這樣做,如果你碰到什麼讓我知道解釋。
意見是偉大的。這有點嚇人,但是一旦你掌握了它的使用方法很容易。我很抱歉,如果你已經知道這一點,我錯過了你的要求。
那麼我會拍攝的是整體建議將打印出行動描述文本。我想我會研究CCK /視圖組合。 – samoz 2010-12-16 04:04:00
對nodereference的一個警告是,您只能在視圖內向下鑽取一層。如果您的孩子有需要在視野內找到的孩子,那麼您必須爲此寫點東西。 – 2010-12-16 13:17:15