撇号cms中图像的默认值?

时间:2018-07-10 13:34:23

标签: node.js apostrophe apostrophe-cms

我有一个自定义小部件:

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) }}" />

如果加载图像,可以看到它。但是我没有默认值。还可以从图库中选择文件而不上传吗?

1 个答案:

答案 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
    }
  },