2009-08-10 41 views
2

你好:)我在一個面向drupal的網站發佈了這個相同的問題,但是根本沒有得到任何答覆。我抱怨自己,並希望該網站更像StackOverflow,所以我想,爲什麼不試試問它在這裏:)Drupal問題:視圖,參數和節點列表

我玩弄一個視圖,顯示節點屬於分類術語。詞彙表還有一個分類標準節點,其中包含所有術語的子標記。

到目前爲止,該視圖有一個參數,分類術語ID,並按發佈日期排序。但是,如果我想要顯示某個特定術語的所有節點,並且所有節點列在最前面,以及所有非節點列表節點(但仍在此特定分類術語下),按日期排序?

爲了澄清,說這是我的詞彙量,我們把它稱爲「活的東西」

Plant 
--Fruit 
--Vegetable 
Animal 
--Fish 
--Dinosaurs 

下列節點下的恐龍發現:

Tyrannosaurus Rex (added 2009-01-01) 
Megalosaurus (added 2009-01-02) 
Velociraptor (added 2009-01-03) 
Brachiosaurus (added 2009-01-04) 

由於tyrannosauruses和伶盜龍屬的額外令人敬畏的恐龍,它們也被添加到節點排列的生物中,subqueue dinosaurs:

子隊列:

  1. 迅猛
  2. 霸王龍

最終視圖應該按以下順序顯示出來:

Velociraptor (it's first in the NQ) 
Tyrannosaurus Rex (2nd in NQ) 
Brachiosaurus (of the remaining dinosaurs, this is the newest) 
Megalosaurus (oldest non-queue dinosaur) 

我創建了一個nodequeue的關係,但它不會讓我挑一個子隊列,我只能限制到'活着的東西'nodequeue。 我的第一個看法參數是術語ID,所以我認爲如果我添加了「Nodequeue:subqueue reference」作爲第二個參數,我會得到預期的行爲,但是這隻顯示了在節點列表中列出的恐龍。

任何有關這個問題的幫助或建議將不勝感激。謝謝!

回答

2

我還沒有真正用過nodequeue的subqueue,所以我不完全確定這一點。但是根據我對nodequeue的經驗,看起來像使用視圖時,您僅限於他們支持的基本事物,並且無法真正實現您正在尋找的定製類型。我認爲你最好的選擇是創建你自己的視圖排序處理程序,在這裏你可以像這樣排序。製作這樣一個處理程序可能會非常棘手,因爲您必須找出兩個視圖和節點列表才能使其工作。如果在冒險走上這條路之前,你應該考慮一下它是否值得,除非你之前已經完成了這種觀點。

1

哈克解決方案警告!

使用nodequeue項目在您的頁面中查看主視圖。

創建另一個視圖,作爲非節點列表項的塊顯示。將此塊放入主要內容區域並將其限制爲僅在與第一個視圖相同的URL上顯示。

你可能必須做一些與url變量的擺弄,但我認爲它會起作用。

+0

大多數定製的drupal解決方案都是最好的;) – Ace 2009-08-10 11:54:36

2

更多黑客:
解決您試圖完成的行爲可能會放棄使用nodequeues。我不知道使用nodequeues也沒有日期的重要性,整個動力,但在此之前面臨着類似的問題,我已經能夠使用以下來解決它:

  1. 修改日期

如果你粘住你的超酷恐龍,並修改元素的發佈日期以使它們與你的訂單相匹配,那麼你可以在單個視圖中生成你正在尋找的東西。這是一個非常有趣的故事,它並不是真的關心發佈日期(總是取決於情況),也沒有更緊迫的理由來使用節點序列。也就是說,如果你不需要nodequeue或日期,這是一個可行的解決方案。

傑里米的2視圖解決方案也應該可行,我想說這是處理給定場景的另一種常見方法。

0

爲什麼不連接每個nodequeue後面的視圖? (每個nodequeue生成一個視圖) 您可以添加一個頭部(參見視圖編輯頁面中的'基本設置')到包含調用views_embed_view('first nodequeue')的php代碼的第二個節點列表中(您只需要更改標頭的輸入格式爲'php')。或者說,通過調用views_embed_view()來創建一個包含每個節點列表的自定義視圖。這將有效地將一個節點隊列置於另一個節點隊列之上,並且如果它們具有相同的格式/內容類型,則不需要亂用字段:可以使用Row Style == Node。至於你的論點,他們可以傳遞給views_embed_view,作爲第三個參數(文檔不會說AFAICR,但我在論壇(http://drupal.org/node/99721)發現一個帖子,表明參數可以發送爲'$ current_view-> args'的視圖被嵌入)。

HTH