Apostrophe CMS传播编辑:所有子小部件和部件的区域错误

时间:2019-02-14 15:14:31

标签: properties apostrophe-cms propagation

我有一组通常在页面上进行编辑的普通小部件,没问题。但是,由于要对组件进行动画处理,所以我需要在模式模式区域中编辑这些小部件,并且事情变得有些时髦。设置edit:false不会停止对该区域的编辑,但是仍然可以编辑该区域内的所有小部件和片断吗?我需要停止此操作,因为我无法真正在页面的任一模式中进行编辑,因为在模式中出现错误提示“您无法控制文档”,并且没有通过上下文编辑保存任何内容?

1 个答案:

答案 0 :(得分:0)

我理解您的意思是,有时您需要比在view.html中不可编辑的单例或区域中调用窗口小部件的值多一点的灵活性

我找到了创建tutorial中所述的创建小部件的解决方案 这使您可以在任何位置调用窗口小部件的值,而无需任何编辑功能。您可以在不同的地方调用同一个字段,一个在动画中调用,然后飞来飞去,在所有东西之间飞来飞去,例如另一个静态标头。

在这里您将找到一个示例,说明我如何使用Pieces小部件并在view.html上显示所有字段。我什至添加了一个if条件,因此如果没有用户输入,die字段将不会加载到您的widget.html中。

我认为该解决方案最适合您的需求。

 {% for piece in data.widget._pieces %}
  <div class="card horizontal" style="
    {%- if piece.backColor-%}
      background-color:{{ piece.backColor }}
    {% endif %}
  ">

    {%- if piece._image -%}
    <div class="card-image hide-on-small-only">
      <img width="100%" src="{{ apos.attachments.url(piece._image.attachment, { size: data.options.size or 'full' }) }}">
    </div>
    {%- endif -%}
    <div class="card-stacked">
      <div class="card-content" style="
        {%- if piece.backColor-%}
          background-color:{{ piece.backColor }}
        {% endif %}
      ">

        {%- if piece.title -%}
          <span class="card-title">
            <h5 class="accent-color" style="
              {%- if piece.titleColor -%}
                color:{{ piece.titleColor }}
              {% endif %}
            ">
              {{ piece.title }}
            </h5>
          </span>
        {%- endif -%}

        {%- if piece.text -%}
            {{ apos.area(piece, 'text', {
              edit: false,
              widgets: { 'apostrophe-rich-text': { } }
            }) }}
        {%- endif -%}

      </div>
    </div>
  </div>
 {% endfor %}

因此{{piece.titleColor}}分解为最简单的值,意味着在小部件index.js中这样的简单小部件架构

{
  name: 'titleColor',
  label: 'Title Color',
  type: 'color',
  help: 'Remove to set title to Accent Color'
},