Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal 显示相似节点_Drupal_Views_Panels - Fatal编程技术网

Drupal 显示相似节点

Drupal 显示相似节点,drupal,views,panels,Drupal,Views,Panels,我今天有点碰到了Drupal的问题 我想在页面上显示一个节点(产品),在该节点下,我想显示3个类似的节点(产品)。类似的存在:具有相同的分类id或附加了“升级”标记 我已经尝试将相关节点制作成一个视图,仅当我们在产品页面上时,该视图才显示为一个块。这件事我做得不好 我的第二个想法是制作一个包含两个视图的面板页面,一个用于产品,另一个用于相关产品。我也没有走远 有人知道最简单的方法吗 更新: 我尝试了两种答案,但我没有收到任何相关产品。执行的SQL查询(术语id=1)是: 当我手动执行查询并从查询

我今天有点碰到了Drupal的问题

我想在页面上显示一个节点(产品),在该节点下,我想显示3个类似的节点(产品)。类似的存在:具有相同的分类id或附加了“升级”标记

我已经尝试将相关节点制作成一个视图,仅当我们在产品页面上时,该视图才显示为一个块。这件事我做得不好

我的第二个想法是制作一个包含两个视图的面板页面,一个用于产品,另一个用于相关产品。我也没有走远

有人知道最简单的方法吗

更新:

我尝试了两种答案,但我没有收到任何相关产品。执行的SQL查询(术语id=1)是:

当我手动执行查询并从查询中删除
和(taxonomy\u index\u value\u 0.tid和“”)
时,我确实收到了相关的产品

有人知道是什么原因导致代码被添加到查询中,以及如何修复它吗

更新2: 我已经删除了“允许每个参数使用多个术语”,现在得到了相关的产品。我不知道这对我的网站意味着什么

更新3:
顺便说一下,我正在使用Drupal 7。

用面板覆盖节点视图。并创建一个带有“分类id参数”的视图块,您需要选择默认参数选项作为PHP代码并放置此代码

$node = node_load(arg(1));
if($node) {
    foreach($node->taxonomy as $term) {
        $term = $term->tid;
        return $term;
    }   
}

我刚刚使用panels+views magic启动了一个网站

看看RelatedContent模块。以下是模块链接和几个教程:


你说你的显示器有问题。在这种情况下,将上述说明中的视图设为一个块,并将其显示在节点内容下方的区域中,但前提是您的主题中有一个区域直接位于您的内容下方。

当您更改为

$node = node_load(arg(1));
if ($node) {
    $ret = array();
    foreach ($node->taxonomy as $term) {
        $ret[] =  $term->tid;
    }   
    return implode('+', $ret);
}
return '';

内爆中的“+”是或。如果您想要,而不是使用“,”来代替

听起来您的思路是正确的,您具体遇到了什么问题?我在显示类似产品时遇到了问题。我不知道处理这个问题的最佳方法。我不知道如何处理这些参数,如果我必须处理它们的话。你能再详细说明一下吗?我是drupal新手。使用面板可以覆盖默认节点显示。转到管理/构建/页面,启用“节点视图”,单击编辑并添加变体。单击“选择规则”,然后选择要覆盖的节点类型。如果操作正确,应该会得到节点的空白页。现在,将节点内容添加到一侧,并使用上面提到的PHP代码使用默认参数放置视图。我希望这有帮助。
$node = node_load(arg(1));
if ($node) {
    $ret = array();
    foreach ($node->taxonomy as $term) {
        $ret[] =  $term->tid;
    }   
    return implode('+', $ret);
}
return '';