D7:从节点获取术语,并在块中显示具有相同术语的其他节点? -- taxonomy-terms 领域 和 blocks 领域 和 views 领域 drupal 相关 的问题

D7: Get terms from node and display other nodes with same term in block?


2
vote

问题

中文

我有一个有条款的节点:

artist1

并需要一个块来显示艺术家1的所有其他节点作为术语

我尝试了这个解决方案显示标题块中分类学相关节点

我将它设置为"提供默认参数" ,并配置为使用正在查看的节点的NID ...而不是

这似乎很简单,但现在一直在工作。

英文原文

I have a node that has terms:

Artist1

And need a block to show all the other nodes that has Artist1 as a term

I tried this solution Display the title of related nodes from taxonomy in block

I set it to "Provide a default argument", and configured that to use the nid of the node being viewed... and nothing

this seems simple but been working at it for hours now.

        

回答列表

1
 
vote

尝试此模块 - https://drupal.org/project/views_arguments_extras 这允许您从当前节点中选择一个字段作为上下文过滤器。 启用此模块。 创建新视图,块显示,并将相关字段选择为上下文过滤器。 根据您的要求配置视图,并在节点页面上显示块。它应该工作。

 

Try this module - https://drupal.org/project/views_arguments_extras This allows you to select a field from the current node as a contextual filter. Enable this module. Create a new view, block display, and the chose the relevant field as the contextual filter. Configure the view as per your requirement and show the block on your node page. It should work.

 
 
0
 
vote

需要一个块视图,该视图接受一个术语(从您的节点)作为参数。我不确定你是如何最好地通过这个词作为观点的参数,但这是一个可能的解决方案:传递参数在7.x视图中阻止

 

You need a block view that accepts a term (from your node) as argument. I'm not sure how you'd best pass the term as argument to the view block but here's a possible solution: Passing Arguments to block in 7.x Views

 
 
0
 
vote

此答案在视图中工作2或更高版本。首先,您需要安装视图附件( http://drupal.org/project/views_attach )。请在进一步前进之前读取视图附件。 Peews附加是最能解释的,由此视频 http://mustardseedmedia.com/podcast/episode37

现在我们可以查看附加。在继续之前,请启用视图附加模块。基本上<代码> Views attach 在节点末尾附加视图。在我们的案例中,我们的观点将是其他文章的列表。

我们将本质上将"通过" 节点的分类项以视图"通过" 。让词汇的名称称为 MyVocab

使视图的步骤。

  1. 让我们拨打视图 display_other_articles_with_same_taxonomy
  2. 添加 Node Content 类型的显示(启用视图后提供)。这是一个类似于块和页面的显示,但具有将自身连接到节点的特殊能力。

Node Content Display中进行以下设置

  Node content settings Node types: [select the content types you are interested in seeing the list of nodes with same taxonomy term] Build modes: Teaser, Full node Arguments: token Show title: No   

您应该在参数下选择 Use tokens from the node the view is attached to 。让令牌是 [term-id] 这是顶级分类学术语的"。这个非常重要!!基本上,您将通过 MyVocab (参见 http://groups.drupal.org/node/11788#Comment-38332 )。如果它具有最低的重量,分类词汇将是节点编辑表单的分类系统中的第一个词汇。添加参数 Taxonomy: Term Id

添加您对e.g的字段。 MyVocab0 。确保 MyVocab1 是通过滴答引起的 MyVocab2

来制作的超链接

那么这个视图要做的是:

  1. 从当前正在查看的节点中的 MyVocab3 词汇表中获取分类学术语
  2. 通过它作为参数到视图 MyVocab4
  3. 列出所有具有与节点显示相同分类项的节点。

它!

如果您使用的是使用浏览3(写作时的Alpha3)您想要一个块(现在的文章具有相同的分类学术语,在节点体的末尾)可以按以下方式进行:

  1. 忘记视图附加...它不需要
  2. 添加块视图。它应包含与上面的指令,字段和过滤器相同的参数,字段和过滤器 9988876615 显示。
  3. 您需要修改参数 9988766616 的设置:在 MyVocab7下选择 MyVocab8 。选择 MyVocab9 。现在确保<代码> display_other_articles_with_same_taxonomy0 是未选择的, 998876621 display_other_articles_with_same_taxonomy2 ,然后选择 display_other_articles_with_same_taxonomy3 词汇表。
  4. 确保您命名块并将其放在相应的区域中。

注意:此答案是我在 https://stackoverflow.com/questions/3895213/how-to-just-show-nodeueue-block-on-included-nodes/3909670#3909670 该方案的要求是,相关文章被明确地选择并以特定顺序列出。它有点复杂,并使用我们根本不需要的nodeque。

 

This answer works in Views version 2 or higher. First you need to install Views attach ( http://drupal.org/project/views_attach ). Please read about Views attach before proceeding further. Views attach is best explained by this video http://mustardseedmedia.com/podcast/episode37

Now we get to Views attach. Please enable the views attach module before proceeding. Essentially Views attach attaches a view at the end of the node. In our case our view will be a listing of other articles with the same term.

We will essentially need to "pass" the taxonomy term of the node to the view. Let the name of your Vocabulary be called MyVocab.

Steps to make the view.

  1. Lets call the view display_other_articles_with_same_taxonomy.
  2. Add a display of type Node Content (available after enabling Views attach). This is a display just like block and page displays but with special ability of attaching itself to the node.

Make the following settings in the Node Content Display

Node content settings Node types: [select the content types you are interested in seeing the list of nodes with same taxonomy term] Build modes: Teaser, Full node Arguments: token Show title: No 

You should select Use tokens from the node the view is attached to under Arguments. Let the token be [term-id] This is the "ID of top taxonomy term". This is very important!! Essentially you are going to be passing the taxonomy term of the node from the MyVocab (See http://groups.drupal.org/node/11788#comment-38332). If it has the lowest weight, the taxonomy vocabulary will be the first vocabulary in the taxonomy section of your node edit form. Add an argument Taxonomy: Term Id.

Add the fields you are interested in e.g. Node: Title. Make sure the Node: Title is made into a hyperlink by ticking Link this field to its Node

So what this view is going to do is:

  1. Take the taxonomy term from the MyVocab vocabulary in the Node that is currently being viewed
  2. Pass that as argument to the view display_other_articles_with_same_taxonomy
  3. List all the nodes that have the same taxonomy term as the node being displayed.

Thats it!

If you're using Views 3 (currently at alpha3 at the time of writing) and you want a block (right now the articles have same taxonomy term come at the end of node body) you can do it in the following fashion:

  1. Forget about views attach... its not required
  2. Add a block view. It should contain the same argument, fields and filters as the instructions above for the Node Content display.
  3. You need to modify the settings for the argument Taxononomy: Term Id just slightly: Under Action to take if argument is not present: choose [x] Provide Default Argument. Choose [x] Taxonomy Term ID from URL. Now make sure [] Load default argument from term page is unselected and [x] Load default argument from node page, thats good for related taxonomy blocks. Also [x]Limit terms by vocabulary and choose the Series vocabulary.
  4. Make sure you name the block and put it in the appropriate region.

Note: This answer is subset of the answer I provided at https://stackoverflow.com/questions/3895213/how-to-just-show-nodequeue-block-on-included-nodes/3909670#3909670 In that scenario the requirement was that the related articles are explicitly selected and listed in a particular order. Its a little more complex and uses Nodequeues which we don't need here at all.

 
 
0
 
vote

不可取,但作为一个选项,您可以在视图内使用PHP代码上下文过滤器,如下所示的代码。

假设该视图块必须用节点放置,因此将arg(1)拍摄为nid。

  display_other_articles_with_same_taxonomy4  
 

Not advisable, but as an option you can use php codes inside the views contextual filters, code something like below.

Assuming this view block has to be placed with a node, so taking arg(1) as nid.

  $node = node_load(arg(1));   if($node && isset($node->your_taxonomy_field_name[LANGUAGE_NONE])) {       foreach($node->your_taxonomy_field_name[LANGUAGE_NONE] as $term) {           $terms[] = $term['tid'];       }       return implode('+',$terms);   }   else {       return;   } 
 
 

相关问题

9  按术语或节点获取词汇ID  ( Get the vocabulary id by term or node ) 
我将检查一个术语是否属于指定的词汇。 哪个函数用于通过术语或节点获取词汇? ...

1  如何在分类术语之间删除逗号?  ( How to remove comma between taxonomy terms ) 
我将我的分类术语风格为框,所以我在它们之间不需要逗号。 有人可以给我任何建议吗? ...

3  替代管理员侧内容浏览 - 模块?  ( Alternative admin side content browsing module ) 
是否有人知道,或者正在处理Drupal 7模块,该模块将为管理方提供替代,分层内容浏览器? 虽然查找内容部分中的过滤器是对不相关页面的巨大援助,我真的很乐意浏览分类法(而不是术语),就像我浏览了Windows中的文件夹和文件一样探险家或Mac的发现者。 是什么咬我的是,在默认的Drupal安装中,分类学分别太多(以管...

5  自定义视图筛选多级分类系统  ( Custom views filter for multi level taxonomy ) 
我正在努力设置两种看法,以显示多级分类。一个人会列出最终节点的术语,另一个将列出有孩子的节点。不知何故,我不能。 我说我真正需要的是过滤标准"内容:有分类术语(带有深度= 1),有孩子" 。有谁知道模块/加载项会添加这样的过滤标准,或者也许知道如何定义当地视图(我仍然太鲜幸地说,如果可能的话)。 谢谢 artur ...

6  如何用层次结构将父母术语获得分类?  ( How can i get the parent term in a taxonomy with a hierarchy ) 
我有一个节点,该节点标记为分类项,该分类项是诸如"州&gt;县的态度" 等级的一部分。 因为用户选择了一个"县" 标签,我如何获得父项的名称? ...

2  设置目录分类  ( Setting up catalog taxonomy ) 
我正在与特定内容类型的守则模式与往返模式进行战斗。内容类型绑定到分类(产品目录)。我认为分类树应该只容纳容器项目(类别,子类别,子提包等)但不是最终节点(产品),并且它可以具有以下URL模式,由容器节点URL组成+产品别名+扩展,如在[分类 - 别名] / [node-alias] .html中。 这似乎是错误的假设...

1  为什么无法在插入节点时找到标记的父项?  ( Why cant i find the parent term of a tag when a node is being inserted ) 
我遵循另一个问题,我问了,如何用层次结构将父术中获取父项?,我可以获得父母术语当我在视图运行时,但不是在我在插入操作时。 var_dump() 显示 $terms 变量,但 NULL $pterms 。这是我的代码在 hook_nodeapi('insert') 中被调用。 foreach ($node-...

2  如何在视图中展示特定词汇的分类条款  ( How to display taxonomy terms of a particular vocabulary in views ) 
我正在尝试在观点条款领域显示特定词汇的分类条款,但我遗失了如何做到这一点。我使用template.php完成了完整视图模式中的同样的事情。 ...

3  根据CCK中的共享字段声明的当前节点类型选择分类学父ID  ( Select a taxonomy parent id based on the current node type for shared field decl ) 
我有一个分类词汇表,下面的大规模: *Property Type -Commercial -Office -Building -Warehouse -Residential -Villa -Apartment -Penthouse 我有两个内容类型的属性...

1  分类vs. cck列表,用于分类事件  ( Taxonomy vs cck list for categorizing events ) 
有人可以让我知道最好的做法是选择在内容类型中实现某种东西与分类系统之间的列表字段吗?假设存在预设的值列表,并且不需要内容创建者创建自己的。 例如,可以基于受众或类型来分类"事件" 的内容类型。受众可以是[儿童,青年,成年人,老年人等]。同样,类型也将具有预设列表。 应该观众或类型是cathononomy或内容类型中的...

2  配置分类论证视图  ( Configuring a taxonomy argument view ) 
使用视图6.x-3.x-dev 我有一个名为emages的内容类型和名为stars的内容stype。两种类型共享名为名称的词汇。词汇表是标签。 通过视图,我想在查看该特定的星节点时显示与该星相关联的所有图像。 所以说我当前正在查看布拉德皮特的节点。此节点在名称词汇表中标记了"brad pitt" 术语。我想要他所有...

2  视图...单击“显示随机节点”  ( Views display random node on click ) 
我正在尝试创建一个像这样的随机化器的视图: http://www.celebridynetworth.com/trichest-celechits/snooki-net-worth/ 。 我不确定我可以在单击按钮上激活视图。然后,视图必须从我过滤它以显示的术语中显示完全随机节点。有人会知道我如何做到这一点?谢谢。 ...

9  Book模块与分类模块  ( Book module versus taxonomy module ) 
本书和分类模块非常相似,可以在层次结构中组织内容。 两个模块: 允许多级层次结构 可以通过视图访问 通过node.tpl.php文件所有自定义主题 提供用于在层次结构内推广或降级内容的手段,或将其转移到另一个层次结构 书本模块具有创建导航系统的额外优势(虽然您可能会用分类系统和视图重新创建它)。 我的问题是:哪...

3  意见用英语和西班牙语  ( Views in english and spanish ) 
我的网站是英文和西班牙语。 我的问题涉及类似的术语模块和一个自定义视图,即在单击中显示按任期节点过滤的随机。如何在西班牙语模式下显示西班牙语内容的论证,以及英文模式时的英语内容?我意识到我可以简单地过滤西班牙语的节点。 类似的术语模块如何识别页面以英语或西班牙语的事实,并显示单击的相应语言? ...

1  Drupal 7列出与特定标记匹配的所有节点  ( Drupal 7 list all the nodes that match a specific tag ) 
是否可以将特定URL传递给Drupal7,该rupal7列出了具有特定标记的所有节点?我正在寻找类似于WordPress使用的"?标记=" 的东西。 我已经创建了标签并将标记字段添加到我的节点 感谢 ...

1  使用链接到内容类型的术语创建词汇  ( Create a vocabulary with terms that are linked to a content type ) 
我需要用这种"扭曲" 创建词汇:词汇的分类术语是基于特定内容类型的文章的标题。 这意味着,如果我根据内容类型"词汇" 创建,修改或删除文章,则应添加,修改或删除词汇表中的相对术语。 想象我有内容类型"汽车" 。我创造了不同的文章,其中一个是"法拉利456" ,另一个是"大众高尔夫" 。我想要一个名为"汽车" 的词汇,...

0  同步免费标记词汇  ( Sync free tagging vocabulary ) 
我是一个内容类型文章,其中用户可以通过释放内容,颜色等自由标记为词汇创建新术语。当用户创建新内容时,他可以向类别添加新术语。现在我想在我的论坛词汇表中提供新的创建术语,因此用户可以在论坛中讨论此术语。 我已经为我的文章和我的论坛分配了词汇。但是,一个人不起作用,我想。 同时我正在使用分类管理员只是将术语从"文章" 词...

1  使用分层选择以显示特定的内容部分  ( Using hierarchical select to display a particular section of content ) 
我有一个名为"结果" 的内容类型,显示特定游戏的结果。我正在使用分类的分类术语,包括年,游戏和联盟。 我的目标是创建一个只显示符合在公开的分层选择模块中选择的术语匹配的结果内容类型的视图。我目前有视图工作,但它正在显示所有结果内容类型。 ...

0  以编程方式向现有内容类型添加分类项  ( Programmatically add a taxonomy term to an existing content type ) 
如何以编程方式向已创建的内容类型添加分类项?预先展示我已经预先在所有选定的内容类型上获得了分类域。 我希望批量向几个节点添加分类项。我注意到内容显示列表中有一种方法可以在节点上存在时筛选到一个术语,但是有没有办法将其添加到没有它的内容类型? 我读取了以编程方式创建分类学期,这是部分在那里,但我不知道如何进一步获得它。...

2  片段隐藏一个词汇的编辑  ( Snippet to hide the editing of one vocab ) 
我需要一个代码段,隐藏/省略某个内容类型的节点/编辑形式的某个词汇表的编辑,如果它们不在某个角色。所有访问模块都是太重的,只需这种小要求。 ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.