4

我有一个 Drupal 7 内容类型的计算字段,由我的描述(文本)字段填充:

$entity_field[0]['value'] = $entity->field_desciption['und'][0]['value'];

它工作正常。我想创建另一个由标题(节点模块元素)字段填充的计算字段。

我尝试了以下几行,但它们不起作用。

$entity_field[0]['value'] = $entity->title['und'][0]['value'];
$entity_field[0]['value'] = $node->title;

我怎样才能做到这一点?

4

3 回答 3

2

节点标题不是字段;因此,使用$entity->title['und'][0]['value']将不起作用。你应该使用的是$entity->title.

作为旁注,要获取字段的值,您应该使用field_get_items(),它负责为字段设置的语言,这不一定是LANGUAGE_NONE.

于 2013-01-03T10:52:40.803 回答
1

如果它是一个节点模块元素,它应该可以通过$entity->title直接访问。尝试 aprint_r($entity); die;获取实体的所有元素。希望这对您有所帮助。

于 2012-12-30T14:31:23.610 回答
0

您应该查看将数组/对象打印到页面以查看您正在使用的确切内容。

尝试将print_r($entity);或添加print_r($node);到显示实体或节点的页面,然后exit;

然后,您可以右键单击该页面并单击“查看页面源”以结构化格式显示输出。使用它来查看变量名称、对象/数组类型和层次结构,然后正确编写完整的变量代码。

print_r($node);
exit;

我想它应该是 $node->title 虽然......

于 2012-12-30T12:09:25.187 回答