場合によっては、リッチ テキストのインライン編集をデータベースに保存できません。
私がやっていることを説明できる唯一の方法であるため、ここにいくつかのコードが貼り付けられます。
私のプロジェクトには 2 種類のカスタム ウィジェットがあります。ウィジェットのインスタンスが 1 つしかないもので、通常は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' ]
}) }}
これは私のために働いていません:
2 番目のタイプ - インラインで編集できますが、変更は保存されません。
の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 %}
なぜ後者が機能しないのか理解できません。何か間違ったことをしているのですか?それとも、繰り返されるアイテムのインライン編集ができないのでしょうか?