2013-03-19 21 views
0

我們想創建一個顯示兩個特定節點的頁面。如何創建一個顯示兩個特定節點的頁面?

第一個節點將是本地化內容(用戶的語言中的文章節點)。該頁面至少有5種不同的語言版本。

第二個節點將是用戶可以提交以「簽署」文檔的Webform節點。它將是語言中立的。

最初我想我可以有一個Webform節點,然後將它翻譯成適當的語言。但是我發現Webform節點的「已翻譯」版本實際上是一個全新的節點 - 這意味着一個全新的Web表單。如果您考慮Drupal如何處理多語言內容,這是有道理的 - 每個翻譯都是一個單獨的節點。

但是在我們的webform的情況下,我們不想將提交分成10個不同的webform提交集。每個「簽名」的人都將他們的簽名放入同一個「數據倉」中。

我能想到的兩種可能的解決方案:

  1. 創建一個頁面,會顯示兩個節點:一個「物品」節點(選擇取決於用戶的語言選擇)的本地化版本,以及Web窗體。

  2. 創建多個Webform節點(每種語言一個),然後創建一個將所有用戶提交合併到一組記錄中的MySQL視圖。這將使我們能夠提取我們的數據而不會感到頭疼。

我不知道,如果2是可能的。我假設我必須與1一起去。但是,到目前爲止,我爲完成這一目標所做的努力也沒有結果!我怎樣才能做到這一點?

-Josh

+0

我會去尋找一個簡單的解決方案,比如使用Webform Block模塊嵌入Webform並配置正確的可見性設置。 – 2013-03-20 16:14:24

+0

我想設置一個只出現在特定節點上的塊,但這看起來有些麻煩,我希望有更好的方法?如果我們走這條路線,那麼我們可以結束一大堆只能與一條內容一起出現的街區。這會給我們一個混亂的「塊管理」頁面。 – Josh 2013-03-20 19:58:58

回答

0

我認爲1是很容易和可能的解決方案。您可以創建webform節點並將body字段設置爲php代碼(爲此您需要啓用php篩選器)。並放在正文後面的行中:

<?php 
$nid = NODE_ID; 
$node = node_load($nid); 
$node_view = node_view($node, 'full'); 
print drupal_render($node_view); 
?> 

只需將NODE_ID替換爲多語言節點的nid即可。

+0

多語言頁面針對每種不同的語言都有不同的節點。所以如果我們有12個不同的語言版本的頁面,我們有12個不同的節點ID。如果我理解你的建議答案,在這種情況下不起作用。請澄清我是否不理解。謝謝! – Josh 2013-03-20 11:08:43

相關問題