【问题标题】:Apostrophe cms - inline editing of singleton/area in custom widgets (html) not working撇号 cms - 自定义小部件 (html) 中的单例/区域的内联编辑不起作用
【发布时间】:2018-06-08 14:20:34
【问题描述】:

与此类似:Apostrophe cms - inline editing of rich text in custom widgets? 但那里的答案没有帮助。

不保存自定义小部件上的文本/图像的内联编辑,即 html 模板中的单例和区域。我检查了网络选项卡并注意到自定义小部件之外的完全相同的区域save-area 被击中;在自定义的内部不是这样!我升级了所有东西,现在在"apostrophe": "^2.44.0",

有什么想法吗?

顺便说一句,我正在使用工作流。

我做了一些调查,发现不保存的小部件缺少 attr data-autosave 并追踪到: {% if not data.options.virtual %} data-autosave{% endif %}

禁用会导致错误:您无法控制文档。

经过一番挖掘,我认为这是因为小部件中的区域/单例尚未将其 ID 提交给 db,因此在 /modules/apostrophe-docs/lock 处对 lock 的调用失败并返回 {"status":"notfound"}(此在保存之前完成,因此保存无法进行)。这适用于“页内”单例/区域,而不是小部件中的那些我假设为“虚拟”的小部件,如模板条件中所述。

【问题讨论】:

    标签: apostrophe-cms


    【解决方案1】:

    “自发区域” - 未出现在任何架构中的区域 - 仅允许出现在文档(页面或片段)的顶层。作为小部件或模式数组项的子属性的任何区域都必须存在于该小部件的模式中。只要它是,它就会按预期工作。

    您可以通过为“一列”、“两列”等创建单独的小部件来实现您的目标,这些小部件确实在其架构中定义了它们需要的区域。这也带来了非常好的用户体验。

    【讨论】:

    • 我通过将字段添加到架构中来完成这项工作。有没有办法从管理模式中隐藏这些字段(即只能通过上下文编辑来编辑它们)?
    • 是的,这些字段使用contextual: true
    猜你喜欢
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多