从 taxonomy_term 获取字段值 "right way"
Get a field value from a taxonomy_term the "right way"
我正在尝试从分类术语中获取各个字段的值(我想以正确的方式进行操作,即不是 $term->field_foo['und'][0]['value']
)
我能够为节点可靠地执行此操作并针对分类术语调整我的方法,但它似乎不起作用。这是我的代码:
$field = field_get_items('taxonomy_term', $term, 'field_foo');
$value = field_view_value('taxonomy_term', $term, 'field_foo', $field[0]);
$rendered = render($value);
在解决这个问题时,我可以看到 field_get_items 正确地 returns 一个数组...如果我在第一行之后插入一个 var_dump ($field 的),我得到这个:
array (size=1)
0 =>
array (size=1)
'value' => string '1' (length=1)
然而 field_view_value returns 一个空字符串...在第二行之后再次 var_dump ($value)导致:
array (size=2)
'#markup' => string '' (length=0)
'#access' => boolean true
谁能看出我错在哪里?
您可以使用实体元数据包装器:
$term = entity_metadata_wrapper('taxonomy_term', TERM_ID);
更简单可靠。
我正在尝试从分类术语中获取各个字段的值(我想以正确的方式进行操作,即不是 $term->field_foo['und'][0]['value']
)
我能够为节点可靠地执行此操作并针对分类术语调整我的方法,但它似乎不起作用。这是我的代码:
$field = field_get_items('taxonomy_term', $term, 'field_foo');
$value = field_view_value('taxonomy_term', $term, 'field_foo', $field[0]);
$rendered = render($value);
在解决这个问题时,我可以看到 field_get_items 正确地 returns 一个数组...如果我在第一行之后插入一个 var_dump ($field 的),我得到这个:
array (size=1)
0 =>
array (size=1)
'value' => string '1' (length=1)
然而 field_view_value returns 一个空字符串...在第二行之后再次 var_dump ($value)导致:
array (size=2)
'#markup' => string '' (length=0)
'#access' => boolean true
谁能看出我错在哪里?
您可以使用实体元数据包装器:
$term = entity_metadata_wrapper('taxonomy_term', TERM_ID);
更简单可靠。