Apostrophe cms 删除撇号cms模块中作为选项参数的字段
我目前正在尝试让我的模块正常工作。通过添加字段来扩展模块非常有效。我使用了几个模块(例如“Triser”)来扩展“container”,它定义了一些基本选项,比如大小 这是我的容器,定义了一个“大小”选项: 这是我的摘要,扩展容器:Apostrophe cms 删除撇号cms模块中作为选项参数的字段,apostrophe-cms,Apostrophe Cms,我目前正在尝试让我的模块正常工作。通过添加字段来扩展模块非常有效。我使用了几个模块(例如“Triser”)来扩展“container”,它定义了一些基本选项,比如大小 这是我的容器,定义了一个“大小”选项: 这是我的摘要,扩展容器: module.exports = { extend: 'container-widgets', label: 'Teaser', contextualOnly: false, addFields: [ { name: 'tease
module.exports = {
extend: 'container-widgets',
label: 'Teaser',
contextualOnly: false,
addFields: [
{
name: 'teasertext',
label: 'Text',
type: 'string',
textarea: true
},
{
name: 'teaserurl',
label: 'Link',
type: 'string',
required: true
},
{
name: 'image',
label: 'Teaser Image',
type: 'singleton',
widgetType: 'apostrophe-images',
options: {
limit: 1
},
required: true
}
]
};
然后我将容器包括在页面标记中:
{{ apos.area(data.page, 'body', { widgets: { 'container': {} } }) }}
和容器标记中的摘要:
{{ apos.area(data.widget, 'contentBlock', { widgets: { 'teaser': {} } }) }}
问题是,在某些情况下,我不想给用户“size”选项,因为摘要可以嵌套在已经定义了大小的其他模块中。因此,我想传递一个删除“size”选项的参数。这并不像我想的那样有效,但我不知道这样是否可行
我试着在这个例子中加入一个挑逗者,如下所示:
{{ apos.area(data.widget, 'contentBlock', { widgets: {
'teaser': {
removeFields: ['size']
}
} }) }}
这是不可能的还是我弄错了什么?您不能在传递给
apos.area
的选项中使用removeFields
,因为对于该类型的所有小部件,小部件的架构都是在启动时确定的
但是,您可以扩展您的摘要小部件
模块,以创建一个简单摘要小部件
模块,该模块使用移除字段
来移除大小
字段。然后,您可以将所需的小部件类型放在每个区域中,而忽略其他区域
index.js
对于simple-trister-widgets
来说确实非常简单:
module.exports = {
extend: 'teaser-widgets',
label: 'Simple Teaser'
};
嗨,汤姆,谢谢你的回答。这是我的另一个想法,以防你刚才写的不可能。好吧,我就这么做。再次感谢你,继续努力!
module.exports = {
extend: 'teaser-widgets',
label: 'Simple Teaser'
};