我有一个包含不同非必填字段的小部件。除了视频字段外,每个“required:false”都很有效:提交时,如果为空,该字段将变为红色。
index.js文件:
module.exports = {
extend: 'apostrophe-widgets',
label: 'Hero',
addFields: [
{
name: 'image',
type: 'attachment',
label: 'Image',
required: false
},
{
name: 'video',
type: 'video',
label: 'Video',
required: false
},
{
name: 'description',
type: 'string',
label: 'Description',
required: false
},
],
};
例如,如果我提供YouTube视频网址,则可以正常使用。但如果我不想要视频,我就无法保存小部件。我的问题:“视频”字段类型是否管理“必需:false”或是否有诀窍才能使其正常工作?
答案 0 :(得分:0)
我回答自己:视频类型是一个模块,包含一个必需= true的输入。
因此,除非修改(扩展?)来自Apostrophe的代码,否则解决方案是创建第二个小部件来处理视频类型。这就是我所做的。
然后在我的“主页”视图中,我添加了一个包含2个小部件的区域,但限制为1,强制用户仅创建2个小部件(图片或视频):
{{
apos.area(data.page, 'body', {
widgets: {
'hero-video': {},
'hero-picture': {}
},
limit: 1
})
}}