如何创建显示两个特定节点的页面?

时间:2013-03-19 21:37:44

标签: drupal drupal-7 drupal-webform

我们想要创建一个显示两个特定节点的页面。

第一个节点将是本地化内容(用户语言的文章节点)。该页面至少有5种不同的语言版本。

第二个节点将是一个Webform节点,用户可以提交该节点以“签署”该文档。它将是语言中立的。

最初我认为我可以拥有一个Webform节点,然后将其翻译成相应的语言。但我发现,Webform节点的“翻译”版本实际上是一个全新的节点 - 这意味着一个全新的webform。如果您考虑Drupal如何处理多语言内容,这是有道理的 - 每个翻译都是一个单独的节点。

但就我们的webform而言,我们不希望将提交内容拆分为10多个不同的webform提交集。每个“签名”的人都将他们的签名放在同一个“数据库”中。

我可以想到两种可能的解决方案:

  1. 创建一个显示两个节点的页面:“文章”节点的本地化版本(根据用户的语言选择而选择)和网络表单。

  2. 创建多个Webform节点(每种语言一个),然后创建一个MySQL视图,将所有用户提交合并到一组记录中。这样我们就可以毫不费力地提取数据。

  3. 我不确定2是否可能。我假设我必须选择1.但是,到目前为止,我完成这项任务的努力也没有结果!我怎么能这样做?

    -Josh

1 个答案:

答案 0 :(得分: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即可。