我有一个自定义小部件:
module.exports = {
extend: 'apostrophe-widgets',
label: 'Banner',
addFields: [
{
name: 'bannerImg',
type: 'attachment',
label: 'Picture',
def: 'http://via.placeholder.com/350x150'
}
]
};
和小部件视图:
<img class="logo" src="{{ apos.attachments.url(data.widget.bannerImg) }}" />
如果我加载图像,我可以看到它。但我没有默认值。我还可以在不上传的情况下从图库中选择文件吗?
我花了半天时间找到了解决方案:
如中所回答的:如何在撇号CMS 中定义具有默认值的小部件
{% if apos.areas.isEmpty(data.widget, 'bannerImg') %}
<h1>Default Value</h1>
{% endif %}
{{ apos.singleton(data.widget, 'bannerImg', 'apostrophe-images', { limit: 1 }) }}
此外,如果我们想获得这些图像的href:
{{ apos.attachments.url(apos.images.first(data.widget.bannerImg)) }}
同样在index.js中,我更改了:
{
name: 'bannerImg',
type: 'singleton',
label: 'Banner',
widgetType: 'apostrophe-images',
options: {
limit: 1
}
},