2012-08-08 68 views
1

我有一個顯示特定內容類型(廣告)的視圖。我的內容類型有一個字段「僅在頁面上顯示」,它是一種文本類型。在這裏,我會給出該頁面應該顯示哪些內容。Drupal視圖 - 基於URL過濾內容

我創建了一個顯示在/博客上的區塊,顯示廣告的所有內容。但是,如果網址匹配,我希望廣告僅在該區塊中展示。

例如,如果在「/ blog/europe/*」中添加了「abc」和「僅在頁面上顯示」,則只有在訪問url say/blog/europe/france等時,纔會顯示「abc」

現在我創建了一個視圖,但我不知道如何在視圖中傳遞「僅在頁面上顯示」字段作爲參數。

基本上我想類似下面的情況發生:

if "page url" contains "show only on field" then select the content 
else don't select. 

是這種類型的過濾器可以在Drupal的看法?我希望觀點論證可以挽救我的一天。

回答

1

根據您顯示視圖的方式,將參數傳遞給視圖有多種不同的方法。我希望我能正確理解你的問題。聽起來就像你想通過「僅在頁面上顯示」字段的值來過濾視圖的內容。 「僅在頁面上顯示」的過濾值的實際值通過URL傳遞。

爲此,您必須在視圖中添加上下文過濾器。然後,您將在該視圖的網址中添加「僅在頁面上顯示」的值作爲參數。在這種情況下,當您加載視圖時,它只會顯示「只顯示在頁面上」字段的那些節點等於您在URL中傳遞的值。

例如,頁面視圖的路徑可能是「路徑/到/視圖」。然後,您可以將「僅顯示在頁面上」參數添加到此網址(例如,「path/to/view/value_of_show_only_on_page」)。當您使用此URL時,您的視圖將被過濾,因此只顯示「僅在頁面上顯示」的值等於「value_of_show_only_on_page」的內容。

注意在Drupal 6中,「上下文過濾器」在視圖UI中被稱爲「參數」。

+0

嗨Benjen。謝謝。我在問題中增加了一些更詳細的內容以使其更加清晰。我嘗試添加一個參數(D6),但找不到任何可以說「URL like field_show_on_page」 – antnewbee 2012-08-08 09:16:55

+0

添加參數時,首先選擇「內容」組選項,然後選擇相應的「僅在頁面上顯示」字段。一旦你創建了這個,視圖就會假設你會在URL中傳遞一個相應的參數。請注意,該視圖應該已經設置了頁面顯示,並在「頁面設置」下設置了相應的路徑。然後確保您用來鏈接到頁面視圖的URL包含您設置的路徑以及您想要作爲參數傳遞的值。如果這不起作用,那麼我們將不得不進一步調查您如何設置和加載視圖。 – Benjen 2012-08-08 09:59:46