问题描述
我有一个节点类型“ Kaboodle”,其图像字段是媒体实体引用字段。 如果用户在保存节点编辑表单或添加新节点时尚未在字段上载任何图像,我想在图像字段值中设置默认图像fid。
谢谢
解决方法
如果您不想保存媒体数据,甚至可以在节点类型hook_preprocess_node__node_type(&$variables)
上创建预处理程序
如果该字段为空,则添加媒体。
,在hook_node_presave(NodeInterface $node)
中,对于所需的$node->bundle()
,如果media字段的值为空,则将其设置为所需的媒体实体ID(请注意,此媒体实体ID可能会有所不同您的开发人员和产品环境,可能需要按title属性加载媒体以获取其ID)。
只需设置该字段的值,它将在调用node_save时自动保存。