1

我有一个包含不同非必填字段的小部件。每个“必需:假”都很好,除了视频字段:提交时,如果为空,该字段会变为红色。

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 视频 url,它就可以正常工作。但如果我不想要视频,我就无法保存小部件。我的问题:“video”字段类型是否管理“required:false”或者是否有使其工作的技巧?

4

1 回答 1

0

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

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

然后在我的“主页”视图中,我添加了一个包含 2 个小部件的区域,但限制为 1,强制用户仅创建 2 个小部件(图片或视频):

{{ 
   apos.area(data.page, 'body', { 
       widgets: {
         'hero-video': {},
         'hero-picture': {}
       },
       limit: 1
   })
}}
于 2016-11-30T11:20:41.323 回答