【发布时间】:2016-04-18 09:06:14
【问题描述】:
我已经创建了自定义实体,并尝试在表单上显示实体的“更改”时间。
我正在使用此代码
$fields['changed'] = BaseFieldDefinition::create('changed')
->setLabel(t('Changed'))
->setDescription(t('The time that the entity was last edited.'))
->setSetting('value', \date_iso8601($entity->changed->value))
->setDisplayOptions('view', [
'label' => 'above',
'weight' => 11,
])
->setDisplayOptions('form', [
'weight' => 11,
])
->setDisplayConfigurable('form', TRUE)
->setDisplayConfigurable('view', TRUE);
但是无论如何“更改”的时间戳没有出现,你能帮帮我吗?
【问题讨论】:
-
尝试去掉“setSetting()”方法。
-
两者都删除了。但什么都没有改变。有趣的时刻是它完全可以与标准的“创建”字段一起使用。但未显示“更改”的。
-
试试只使用 setLabel 和 setDesc,它应该可以工作。这也是我使用它的方式。然后逐渐添加您想要的选项。我可以想象在表单中显示“已更改”字段是行不通的,因为它对我来说真的没有意义。
-
但对于我的任务,我需要显示此字段。我想,我只需要一个字段格式化程序
-
您确定在表单中需要它吗?如果您想在视图中显示它,那很好,但是在表单中?您不会真的手动更改“更改”日期,对吗?