我正在尝试打印分类术语(即field_company),但它是该文章的打印节点ID。
这些是我的available variables
Global:PHP
中使用的代码<?php
$term = $row->field_company;
print($term);
?>
在我看来自动预览,其显示如下。
第1条标题
PHP: 2345 //这些是节点ID
第2条标题
PHP: 2346 //这些是节点ID
第3条标题
PHP: 2347 //这些是节点ID
第4条标题
PHP: 2348 //这些是节点ID
我期待的是: 例如,在我的分类列表(公司)中,我有类似的术语,
company taxonomy terms list
-term1
-term2
-term3
第1条标题
PHP: term1
第2条标题
PHP: term2
第3条标题
PHP: term2
第4条标题
PHP: term3
第5条标题
PHP: term1
答案 0 :(得分:0)
如果字段field_company是分类参考字段,则下面应该有效。
$tid = $row->field_company;
$term = taxonomy_term_load($tid);
print($term->name);
但是你说它输出了一个节点ID?这意味着field_company不是分类术语引用字段,也许它是节点引用字段?
如果它正在引用一个节点,那么这可能有效。
$nid = $row->field_company;
$n = node_load($nid);
print($n->title);
或者您可以使用实体api加载术语或节点。
<强>但下,
你真的不应该用Global:PHP字段做这个(实际上你应该永远不要使用Global:PHP)
您想要的输出应该很容易在视图(relationshiips)中获得,而不使用Global:PHP字段,如果需要,可能会更快,更容易更改。
答案 1 :(得分:0)
您还可以使用视图对象来收集结果
只需将您的字段放在全局PHP之上,然后使用foreach获取术语名称:
<?php
foreach($view->result as $k => $value){
print $value->field_field_company[0]['rendered']['#title'];
}
?>
注意 - 如果不需要您的字段,请使用isset。如果您收到错误。