2016-11-25 46 views
1

我有一个包含不同非必填字段的小部件。除了视频领域,每一个“required:false”都很好:提交时,如果为空,则该字段变为红色。撇号中所需的小部件中的视频领域CMS

的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视频网址,例如,它工作正常。但是,如果我不想要视频,我无法保存小部件。我的问题:“视频”字段类型管理“required:false”还是有一个诀窍,使其工作?

回答

0

我回答自己:视频类型是一个模块,其中包含required = true的输入。

因此,除非修改(扩展?)来自撇号的代码,否则解决方案是创建第二个小部件来处理视频类型。这就是我所做的。

然后在我的“家”的看法,我加入含有2只小部件的领域,但为1的限制,迫使用户只能创建的2个控件(图片或视频):

{{ 
    apos.area(data.page, 'body', { 
     widgets: { 
     'hero-video': {}, 
     'hero-picture': {} 
     }, 
     limit: 1 
    }) 
}} 
+0

这对你的情况来说是一个很好的解决方法,但随时打开关于总是需要的视频字段的github问题。这将是一个错误。 –