У меня есть проблема.Вот поле схемы, определяющее поле изображения и код в index.js для модуля частей
....
{
name: 'icon',
label: 'Icon for Title',
type: 'singleton',
widgetType: 'apostrophe-images',
image:true,
options: {
aspectRatio: [1, 1],
minSize: [32, 32],
limit: 1,
size: 'iconSize'
}
},
.....
и код конструктора
....
construct: function (self, options) {
self.beforeSave = function(req, piece, options, callback) {
var d=piece;
var icon=undefined;
console.log('piece log ',d.icon);// piece log { items:
[ { by: 'id',
hideTitle: true,
hideCredits: true,
hideDescription: true,
_id: 'w211720719732099649',
pieceIds: [Array],
relationships: [Object],
type: 'apostrophe-images' } ],
type: 'area' }
Template warning: Impossible to retrieve the attachment url since it is missing, a default icon has been set. Please fix this ASAP!
if (d.icon) {
var image =self.apos.images.first(d.icon);
icon = self.apos.attachments.url(image, { size: 'iconSize' });
}
console.log('icon log', icon);// icon log /modules/apostrophe-attachments/img/missing-icon.svg
app.js имеетразмер изображения указан правильно
И все же в файле шаблона работает тот же код
{% set icon = apos.images.first(data.widget.icon) %}
{% if icon %}
<img class="event-icon" src="{{ apos.attachments.url(icon) }}" alt="{{ data.widget.navName }}"
style="{% if apos.attachments.hasFocalPoint(icon) %}background-position: {{ apos.attachments.focalPointToBackgroundPosition(image) }};{% endif %}">
{% endif %}
Я не могу использовать шаблон, так как у меня более 60 полей, определенных в схеме, которыесоздает целую связку HTML, поэтому мой лучший вариант - создать HTML в JS и обновить поле схемы с помощью кода, который затем выводится в шаблон.Я даже пытался после сохранения, думая, что это была асинхронная проблема на изображении, и это дает те же результаты.