マルチセレクトボックスフィールド

マルチセレクトボックスフィールドは、複数選択形式の入力を提供します。

設定

マルチセレクトボックスフィールドの設定は、次の通りです。

  • マルチセレクトボックスのオプション – フィールドで利用可能なオプションを定義します。オプションの値とラベルを別々に設定したり、デフォルトで選択状態にしておくものを選択できます。

テンプレートの実例

選択されたオプションをループ

{% for option in entry.multiselectFieldHandle %}
    Label: {{ option.label }}
    Value: {{ option }} or {{ option.value }}
{% endfor %}

利用可能なすべてのオブションをループ

{% for option in entry.multiselectFieldHandle.options %}
    Label:    {{ option.label }}
    Value:    {{ option }} or {{ option.value }}
    Selected: {{ option.selected ? 'Yes' : 'No' }}
{% endfor %}

いずれかのオプションが選択されているかを確認

{% if entry.multiselectFieldHandle|length %}

特定のオプションが選択されているかを確認

{% if entry.multiselectFieldHandle.contains('optionValue') %}

投稿フォーム

{% set field = craft.app.fields.getFieldByHandle('multiselectFieldHandle') %}

{# Include a hidden input first so Craft knows to update the
   existing value, if no options are selected. #}
<input type="hidden" name="fields[multiselectFieldHandle]" value="">

<select multiple name="fields[multiselectFieldHandle][]">
    {% for option in field.options %}

        {% set selected = entry is defined
            ? entry.multiselectFieldHandle.contains(option.value)
            : option.default %}

        <option value="{{ option.value }}"
                {% if selected %}selected{% endif %}>
            {{ option.label }}
        </option>
    {% endfor %}
</select>