1

場合によっては、リッチ テキストのインライン編集をデータベースに保存できません。

私がやっていることを説明できる唯一の方法であるため、ここにいくつかのコードが貼り付けられます。

私のプロジェクトには 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 %}

なぜ後者が機能しないのか理解できません。何か間違ったことをしているのですか?それとも、繰り返されるアイテムのインライン編集ができないのでしょうか?

4

1 に答える 1