在某些情况下,我无法将富文本的内联编辑保存回数据库。
请耐心等待,这里会粘贴一些代码,因为这是我描述我正在做的事情的唯一方式。
我的项目中有两种自定义小部件 - 只有一个小部件实例,通常在lib\modules
目录中定义如下:
article-widgets
- views
- - widget.html
- index.js
然后是重复的小部件,可以在站点周围的多个地方使用,通常定义如下:
employees
- index.js
employees-widgets
- views
- - widget.html
这个我可以工作:
在第一种我定义的富文本中article-widgets\index.js
{
name: 'ingress',
label: 'Ingress',
type: 'area',
required: true,
options: {
widgets: {
'apostrophe-rich-text': {
toolbar: ['Bold', 'Italic', 'Link', 'Unlink' ]
}
}
}
}
然后在article-widgets\views\widget.html
{{ apos.singleton(data.widget, 'ingress', 'apostrophe-rich-text',{
toolbar: [ 'Bold', 'Italic', 'Link', 'Unlink' ]
}) }}
这个对我不起作用:
在第二种类型中 - 我可以内联编辑,但不会保存更改。
在employees\index.js
{
name: 'body',
label: 'Beskrivelse',
type: 'area',
options: {
widgets: {
'apostrophe-rich-text': {
toolbar: ['Bold', 'Italic', 'Link', 'Unlink']
}
}
}
}
然后在employees-widgets\views\widget.html
{% for piece in data.widget._pieces %}
<div>
{{
apos.singleton(piece, 'body', 'apostrophe-rich-text', {
toolbar: [ 'Bold', 'Italic', 'Link', 'Unlink' ]
})
}}
</div>
{% endfor %}
我不明白为什么后者不起作用。我做错了什么 - 还是不可能对重复项目进行内联编辑?