2010-12-16 119 views

回答

3

在drupal中本质上没有父母/子女关系。您可以使用CCK的节点参考和一些创意视图来构建这些内容。

+0

那么我会拍摄的是整体建议将打印出行动描述文本。我想我会研究CCK /视图组合。 – samoz 2010-12-16 04:04:00

+0

对nodereference的一个警告是,您只能在视图内向下钻取一层。如果您的孩子有需要在视野内找到的孩子,那么您必须为此写点东西。 – 2010-12-16 13:17:15

0

尝试使用视图块显示。您需要为视图创建一个块显示,该视图显示与相应提议节点相关的所有操作节点(或者您需要多少操作节点)(您需要将视图参数设置为如下所示:Nid - 提供默认参数 - 节点ID来自URL)。然后将此块附加到代表您的提案页面的页面。

2

有许多这样做的方法,与Drupal的大多数事情,但如果是我,我会做到这一点:

  1. 构建节点关系CCK
  2. 装入“孩子“,即相关与node_load()在模板文件
  3. 节点拉你想出来的新加载的节点的位,并打印出来的‘父’节点

编辑:是的,他们都应该是节点。

如果您使用此方法,那么一旦它被设置你将不得不进入你的建议和选择你想成为“载”哪些动作(即链接)。

然后打印出来,你会希望类似的一些代码来

<?php 
$actions = $node->field_name_of_your_actions_link_field; 

foreach($actions as $action){ 
    $anAction = node_load($action[nid]); 
    $output .= $anAction->the_bit_you_need_to_get[0][content]; 
} 
?> 

当然变量名称会有所不同,但希望这将指向你在正确的方向

+0

不是在模板文件中加载子项,使用hook_nodeapi并在加载父节点时加载子项的数据不会更好吗?将字段添加到父节点对象?然后,无论您使用父级,都可以使用子级数据。 – Graham 2010-12-17 14:34:42

0

你调查过模块视图?它非常强大,可以让你几乎显示任何东西。

如果你使用的观点,你会做一些与此类似:两个内容类型和分类词汇的行动配合,以提案(因此,把上的动作内容类型术语参考场)。

然后,您将创建一个页面视图,它将按内容类型提议进行过滤。您可以添加提案中的所有字段,然后对它们进行排序并执行您的CSS以让它们显示您的想法。

然后,你将有另一种观点认为,这一次的块,而这将列出你的操作,所以你会通过内容类型进行筛选。然后,您将添加一个上下文筛选器以获取已加载的节点的分类。一旦您在提案页面上显示此块,它应该显示其操作的链接。

我认为这基本上涵盖了它,这一点很难,而无需实际这样做,如果你碰到什么让我知道解释。

意见是伟大的。这有点吓人,但是一旦你掌握了它的使用方法很容易。我很抱歉,如果你已经知道这一点,我错过了你的要求。

相关问题