2012-12-07 46 views
1

我正在使用頁面管理器和麪板在Drupal 7中構建美術館。Drupal 7:使用當前節點ID在頁面上動態生成鏈接?

畫廊中的一件藝術品是一種節點類型,每一種都與一段時間有關,這也是一種節點類型。

查看顯示一段時間的頁面時,我需要一個鏈接,讓用戶看到與該段時間相關的所有藝術作品。

所以我提出了一個觀點,它使用timeperiod的nodeid作爲上下文過濾器,並獲取與該特定時間段節點相關的所有藝術作品節點。

問題是,如果在時間段的頁面上,我如何獲取該特定時間段的nodeid並動態生成一個指向當前nodeid作爲參數的頁面的鏈接? (以便正確的藝術作品被視圖所取代)。

+0

您試圖讓哪個模板獲得節點ID? page.tpl.php中? – Rawkode

+0

看看[實體參考](http://drupal.org/project/entityreference)模塊,它將形式化關係並提供開箱即用的參考內容的鏈接 – Clive

回答

4

您可以在一段自定義代碼中使用arg(1)來獲取當前節點ID(但只有當它是您所在的節點時)。見http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7。舉例來說,你可以輕鬆地將您的視圖在您所選擇或的主題函數中這樣的一個模板:

views_embed_view('name_of_your_view', 'display_name', arg(1)); 

,其中第三個參數是參數,您現在(TIMEPERIOD)節點的節點ID。請參閱http://api.drupal.org/api/views/views.module/function/views_embed_view/7

要只是地方TIMEPERIOD節點到該頁面(通過您的視圖生成)上的鏈接,你可能會在與模板一起使用的預處理功能(如打印設置)。那裏的可能性是不可數的,所以你可能需要提供更多的信息,放置鏈接的位置。但基本上可以通過使用`arg(1)'來實現。

+0

非常感謝,我會嘗試出來! – acrmuui

相關問題