我正在尝试在Drupal 8中创建一个简单的模块,看起来在Drupal 7中真正容易的是现在令人难以置信的复杂。它可以在StackOverflow和Google的帮助下完成,但是,例如:
从节点获取字段值,如下所示:
'name' => $node->get('title')->getValue(),
'body' => $node->get('body')->getValue(),
'image' => file_create_url($node->field_fotografia->entity->getFileUri()),
为什么获取图像字段的方式与标题和正文不同?我如何知道使用何种方式以及如果其他类型的领域有其他方式,我将来如何知道?
答案 0 :(得分:0)
逻辑非常简单
$node->get('body')->getValue();
表示:获取字段“body”的属性值
等同于D7
$node['body'][$language][$index]['value];
直线前进
现在是另一个例子
$node->field_fotografia->entity->getFileUri()
表示:获取存储在字段“field_fotografia”中的实体的属性uri,因为该图像不是属性值而是单独的实体;我相信$ node-> get('field_fotografia') - > getValue()会返回有意义的图片ID。相同模型适用于所有实体引用(多字段,段落,其他节点等)。