2010-01-16 125 views
2

我有一個節點(節點a)與其他各種節點(節點b/c/d/e)引用。drupal鏈接查看依賴於參數

我可以用參數創建一個視圖作爲我正在查看的節點(節點a),並獲取引用該節點的節點的列表。

基本上在節點a上查看節點b-e的列表。

我想爲該節點的節點引用創建一個視圖頁面。但是我怎樣才能將論點傳遞給新的頁面呢?

謝謝。

編輯:我對這個令人困惑的問題表示歉意。

基本上我有一個電影節點。我有很多引用電影節點的評論。

在電影節點上,我使用argument:content:review_of來獲取該電影的評論列表。

這太好了,但是因爲在電影節點上只有幾條評論,所以我需要一個頁面,在那裏我可以看到每部電影的所有評論。問題是從視圖塊(例如,3個電影評論)到觀看頁面(包含所有評論)將電影參數傳遞給觀看者。

理想的看法頁面的網址是:/電影/電影名稱/評論

我曾與在歐文的回答關係試過,但沒能完成這項工作。

回答

3

如果我明白你在說什麼,你想創建一個視圖頁面,允許你查看與父節點相關聯的節點(通過CCK節點引用字段)?

一旦你設置了你的視圖,你可以只傳遞nid(或標題,或者你選擇的任何字段作爲參數)到URL中。

因此,假設你有一個瀏覽頁面設置:http://yourinstall.com/related-nodes

只是傳遞參數中:http://yourinstall.com/related-nodes/5

以上(假設你的人際關係/論點是正確的)會顯示與NID 5所有相關節點。

這是我使用的image of the views configuration

您會注意到視圖上的「路徑」設置爲「movies /%/ reviews」。我有兩部電影「電影一」和「電影二」,每一部都有一些評論。然後,您可以使用http://yourinstall.com/movies/movie-one/reviews等...查看評論的標題。

編輯:好的,所以澄清問題是,你有一個Views塊,它顯示一個特定於電影的評論列表。此外,您還希望將「更多...」鏈接鏈接到一個視圖頁面,該頁面顯示該電影的所有評論。

這是可以通過視圖管理員,但確實涉及到一些PHP代碼。

  1. 您的視圖塊可以設置類似於上面的視圖頁面。
  2. 覆蓋您的視圖塊參數(審查)節點:標題,並在「動作採取如果參數不存在」,選擇「提供默認參數」 - >「PHP代碼」。
  3. 您使用的代碼是:

    if (arg(0) == 'node' && is_numeric(arg(1))) { 
        $node = node_load(arg(1)); 
        return str_replace(' ', '-', strtolower($node->title)); 
    } 
    

在本質上,查看塊作用相同(期望一個電影結題),但將使用上面的代碼,試圖從拉標題網址(請注意這適用於路徑別名)。電影節點標題也會以「movies/[movie-title]/reviews」的格式放入更多鏈接(請參閱上面的圖像),它將按照預期鏈接到Views頁面。

+0

謝謝你,是否有任何方式讓網站中的節點標題? – Jourkey 2010-01-17 01:41:07

+0

是的,只需使用節點標題作爲參數而不是nid。有一個選項可以將空格轉換爲破折號以及URL目的。我在答案中加入了一個例子。 – Owen 2010-01-17 03:26:32

+0

謝謝你,但我不明白這是如何工作的。我的參數不是nid,而是節點引用字段。如果我將標題設置爲參數,那不會給我什麼。謝謝你的幫助。 – Jourkey 2010-01-17 06:16:02

0

我是否正確理解此問題?

真正的問題是塊中的「更多」鏈接沒有鏈接到正確的視圖?

換句話說,如果您的視圖是「movie_reviews」,並且在電影節點頁面上有:movie_reviews-> block添加在側面,在此movie_reviews-> block中,「more」鏈接將訪問者導向電影/所有/評論?

您是否考慮過對這些更改進行模板化? (操作該塊內的鏈接以與當前正在觀看的電影節點的節點一起工作。) 塊很容易主題化。

我可以給如何實現這樣的東西,如果我這對你的網站有意義的參考。