从taxonomy_term获取“正确方式”的字段值

时间:2015-07-06 14:45:12

标签: php drupal drupal-7 drupal-taxonomy

我试图从分类学术语中获取各种领域的价值(我想以正确的方式做到这一点,即不是$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正确返回一个数组...如果我在第一行之后插入一个var_dump($ field),我得到这个:

array (size=1)
  0 => 
    array (size=1)
      'value' => string '1' (length=1)

然而,field_view_value返回一个空字符串...再次在第二行产生的var_dump($ value)之后:

array (size=2)
  '#markup' => string '' (length=0)
  '#access' => boolean true

谁能看到我出错的地方?

1 个答案:

答案 0 :(得分:1)

您可以使用实体元数据包装器:

$term = entity_metadata_wrapper('taxonomy_term', TERM_ID);

更简单可靠。