Я понимаю, что вы имеете в виду, иногда вам нужно немного больше гибкости, чем вызывать значения вашего виджета в нередактируемом синглтоне или области в вашем view.html
Я нашел решение в создании кусков виджетов какописанный в этом учебном пособии Это позволяет вам вызывать значения вашего виджета где угодно, без какой-либо функциональности редактирования.Вы можете вызывать одно и то же поле в разных местах, одно в анимированном виде, летать и все прочее, например, другой статический заголовок.
Здесь вы найдете пример того, как я использовал виджет частей и отобразил все поляна view.html.Я даже добавил условие if, поэтому без пользовательского ввода в ваш 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'
},