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