如何在嵌套的php函数调用中使用变量值作为字符串

时间:2017-02-23 17:14:59

标签: php

我不是php的专家。在drupal视图中工作,我需要有条件地格式化几个字段。要获取已清理的节点值,我可以使用:

$thsField = field_get_items('node', $node, 'field_first');
$output = field_view_value('node', $node,  'field_first',$thsField[0]);

但是由于我必须多次这样做,所以我想使用一个可以将字段名称传递给的函数。像

这样的东西
$node = node_load($data->nid);
function getValue($var)
  {
    $thsfield = field_get_items('node', $node, $var);
    $fieldvalue = field_view_value('node', $node, $var,$thsfield[0]);
    return $fieldvalue;
  }

但我没有运气。有没有什么方法可以在这个用法中理解$ var的字符串值,或者我根据php做了一些根本错误的东西? (编辑:添加节点def - 我的测试中已经存在WAS。$ node和$ data值明确填充并且在范围内)

我认为可能有些东西我不了解php范围(或Drupal访问权限?)。如果我这样做:

function getValue()
{
    $node = node_load($data->nid);
    $thsfield = field_get_items('node', $node, 'field_first_author');
    $thsvalue =  field_view_value('node', $node, 'field_first_author',$thsfield[0]);
    print render($thsvalue);
}

我收到此错误:" ResponseText:EntityMalformedException:在类型node的实体上缺少bundle属性。在entity_extract_ids()"

如果我注释掉函数名称和括号,它会按预期打印该值。

0 个答案:

没有答案