首页 > 解决方案 > Grav CMS:如何从模板访问表单标签(复选框)

问题描述

使用包含checkboxes字段和emailsave操作设置的表单,是否可以从模板中访问各个复选框的标签?

到目前为止,我只能访问复选框的ids 和values ,如下所示:

{%- for field in form.fields -%}
    {%- set value = form.value(field.name) -%}
    {%- if field.type == "checkboxes" -%}
        {%- for key in in value|keys -%}
            {{- key ~ ": " ~ value[key] ~ "\r\n" -}}
        {%- endfor -%}
    {%- endif -%}
{%- endfor -%}

标签: formstemplatesgrav

解决方案


要获取字段的默认值和标签checkboxes,您可以尝试以下操作:

表单的字段定义:

fields:
   ...
   myfield:
      type: checkboxes
      label: A 'checkboxes' field
      default:
            option1: true
            option2: false
      options:
            option1: Option 1
            option2: Option 2
      use: keys

内部 Twig 模板:

{% for field in form.fields %}
   {% if field.type == 'checkboxes' %}
      {% for key, label in field.options %}
         <p>{{ label ~ ': ' ~ (field.default[key] ? 'true' : 'false') }}</p>
      {% endfor %}
   {% endif %}
{% endfor %}

浏览器中的结果:

在此处输入图像描述


推荐阅读