我有一个自定义小部件:
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) }}" />
如果加载图像,可以看到它。但是我没有默认值。还可以从图库中选择文件而不上传吗?
答案 0 :(得分:0)
我花了一天的时间找到解决方案:
如在How to define widgets with default values in Apostrophe 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
}
},