我有一個含分類條款的內容類型。這是一個選擇列表,所以它只能有一個分類 - 至少是那個詞彙。現在我需要構建一個列出具有相同分類標準的所有節點的視圖。Drupal Views:獲取與當前節點具有相同分類的節點
認爲這不會太難,因爲它聽起來很基本。但我無法得到它的工作。有任何想法嗎?我試圖避免爲此寫一個模塊。
我有一個含分類條款的內容類型。這是一個選擇列表,所以它只能有一個分類 - 至少是那個詞彙。現在我需要構建一個列出具有相同分類標準的所有節點的視圖。Drupal Views:獲取與當前節點具有相同分類的節點
認爲這不會太難,因爲它聽起來很基本。但我無法得到它的工作。有任何想法嗎?我試圖避免爲此寫一個模塊。
此答案適用於Views 2或更高版本。首先你需要安裝視圖附加(http://drupal.org/project/views_attach)。請在繼續閱讀之前閱讀有關Views的附加信息。視圖附加是最好的解釋通過這個視頻http://mustardseedmedia.com/podcast/episode37
現在我們到視圖附加。在繼續之前請啓用視圖附加模塊。本質上,Views attach
在節點的末尾附加一個視圖。在我們的案例中,我們的觀點將會是同一個術語的其他文章的列表。
我們將基本上需要將節點的分類術語「傳遞」給視圖。讓你的詞彙的名稱被稱爲MyVocab
。
製作視圖的步驟。
display_other_articles_with_same_taxonomy
。Node Content
類型的顯示(啓用視圖附加後可用)。這是一個像塊和頁面顯示一樣的顯示,但具有將其自身附加到節點的特殊功能。進行如下設置在Node Content Display
Node content settings
Node types: [select the content types you are interested in seeing the list of nodes with same taxonomy term]
Build modes: Teaser, Full node
Arguments: token
Show title: No
你應該在參數選擇Use tokens from the node the view is attached to
。令牌爲[term-id]
這是「頂級分類術語的標識」。這個非常重要!!基本上,您將要通過MyVocab
節點的分類術語(請參閱http://groups.drupal.org/node/11788#comment-38332)。如果權重最低,則分類詞彙表將成爲節點編輯表單的分類部分中的第一個詞彙表。添加一個參數Taxonomy: Term Id
。
添加您感興趣的領域例如Node: Title
。確保Node: Title
由滴答作響Link this field to its Node
做成超鏈接那麼這種觀點是要做的是:
MyVocab
詞彙當前正在觀看display_other_articles_with_same_taxonomy
那就是它!
如果您使用瀏覽3(目前在素α3寫作的時候)和你想有一個塊(現在的文章具有相同的分類項來在節點的主體的末尾),你可以做到這一點在用以下方式:
Node Content
顯示相同的參數,字段和過濾器。Taxononomy: Term Id
的設置:在Action to take if argument is not present:
下選擇[x] Provide Default Argument
。選擇[x] Taxonomy Term ID from URL
。現在確保[] Load default argument from term page
未選中,並且[x] Load default argument from node page, thats good for related taxonomy blocks.
也[x]Limit terms by vocabulary
並選擇Series
詞彙表。注:這個答案是我在How to just show NodeQueue block on included nodes?提供在該方案的要求是,相關的文章了明確選擇,並按照特定的順序列出的答案的子集。它稍微複雜一點,使用我們根本不需要的Nodequeue。
視圖爲您提供了添加過濾器的選項。單擊視圖admin UI的過濾器區域中的加號,從列表中選擇Taxonomy,檢查Term或ID,然後填寫您需要過濾的值。
Edit(對於明確指示):
首先,添加要根據你想從你試圖過濾,如結題的節點顯示的字段部分必要的字段,等
在參數,單擊加號,然後選擇分類
檢查分類:術語,然後單擊添加
單擊更新
在預覽區中加入參數,並點擊預覽測試它。如果它不起作用,那麼您的節點沒有附加的分類,視圖模塊已損壞,或者您沒有遵循指示。
使用關係
非常簡單。 – Evans 2011-03-25 10:25:49
這看起來可能是最好的解決方案,但它非常簡潔,我無法遵循它。多一點細節將會有所幫助。 – 2011-09-26 19:41:16
儘管這在技術上是可能的,如一些其他的答案中描述的意見2,查看3具有這種整合內置的。
您可以創建的分類項ID參數,然後選擇「提供默認參數「。那麼這會給你「從網址分類期限ID」和爲選項「從節點頁面加載默認參數......」
這將允許你把一個頁面的分類和傳遞爲您的視圖塊的一個參數。
注意:視圖3目前在Alpha 3中,但是根據我的經驗,它處於相對穩定的狀態,我正在生產站點上使用它。如果它具有上面那些您認爲有用的功能,請使用它,測試它並在出現任何問題時提交錯誤/修補程序!
-1:視圖3未處於穩定版本。 Drupal模塊有一個很穩定的趨勢,即使在測試階段。這不是爲了詆譭視圖團隊所做的任何事情,但總體而言,使用穩定軟件只是最佳做法。 – 2010-10-14 12:08:36
儘管您認爲Views 3尚未移至最終版本,但視圖3被列爲「支持」。 Drupal模塊經過測試並從開發通道,到alpha版,到beta版,到正式發佈版的方式是讓社區使用它們,測試它們,並報告它們可能遇到的任何問題。只要通過選擇視圖3而不是視圖2(視圖項目頁面做得相當好)來清楚你所得到/放棄的內容,我並不認爲我的答案對這個問題的回答沒有那麼有效。 – markdorison 2010-10-14 20:51:41
+1贊同@markdorison – 2010-10-15 14:54:09
只有一兩件事:
構建模式:預告,全部節點
更好試試這個:
構建模式:全節點
彷彿添加傳情在這裏,我認爲它會獲得每個挑逗項目條款的帖子,我以這種方式解決了內存錯誤。但是當我從這裏刪除Teaser時,它可以正常工作。
嗯,我不想爲每個學期構建一個塊。我想到在某處使用參數。 – 2010-10-13 15:07:54
然後添加一個參數 - 視圖可以讓你做到這一點。只要按照相同的程序。你不需要建立一個塊 - 它可以放在一個頁面或任何其他地方。 – 2010-10-13 15:10:00
顯然,我嘗試過,但我無法得到它的工作。我也嘗試過使用關係......你能給出一些更詳細的解釋嗎? – 2010-10-13 15:17:38