{% extends "admin/base.html" %} {% block title %}{% if entity %}Edit{% else %}New{% endif %} {{ content_type.label }} - Focomy{% endblock %} {% block header_title %}{% if entity %}Edit{% else %}New{% endif %} {{ content_type.label }}{% endblock %} {# フィールドレンダリングマクロ #} {% macro render_field(field, entity) %}
{% if field.type == 'text' or field.type == 'string' %} {% elif field.type == 'email' %} {% elif field.type == 'password' %} {% if entity %}

Leave empty to keep current password

{% endif %} {% elif field.type == 'slug' %}

URL-friendly identifier (lowercase letters, numbers, hyphens)

{% elif field.type == 'textarea' or field.type == 'richtext' %} {% elif field.type == 'blocks' %}
{% elif field.type == 'number' or field.type == 'integer' %} {% elif field.type == 'float' %} {% elif field.type == 'boolean' %} {% elif field.type == 'select' %} {% elif field.type == 'datetime' %} {% elif field.type == 'date' %} {% elif field.type == 'image' or field.type == 'file' or field.type == 'media' %} {% if entity and entity.get(field.name) %}
{% endif %} {% elif field.type == 'url' %} {% elif field.type == 'json' %} {% if field.name == 'fields_config' %} {# === Visual Form Builder for fields_config === #}
{# Field Edit Modal #} {% elif field.name == 'steps' %} {# === Visual Step Builder for steps === #}

複数ステップに分けるとウィザード形式のフォームになります。空の場合は1ページ形式です。

{# Step Edit Modal #} {% else %}

JSON format

{% endif %} {% else %} {% endif %} {% if field.hint %}

{{ field.hint }}

{% endif %} {% if field.description and field.type != 'boolean' %}

{{ field.description }}

{% endif %}
{% endmacro %} {% block content %}
{% if entity %}
{% endif %}
Cancel {% if entity %} {% endif %}
{% if error %}
{{ error }}
{% endif %} {% if message %}
{{ message }}
{% endif %}
{% for field in content_type.fields %} {% if not field.admin_hidden and not field.sidebar %} {{ render_field(field, entity) }} {% endif %} {% endfor %}
{% set has_sidebar_fields = namespace(value=false) %} {% for field in content_type.fields %} {% if not field.admin_hidden and field.sidebar %} {% set has_sidebar_fields.value = true %} {% endif %} {% endfor %} {% if has_sidebar_fields.value %} {% for field in content_type.fields %} {% if not field.admin_hidden and field.sidebar and field.name == 'featured_image' %} {% endif %} {% endfor %} {% endif %} {% if relations %} {% endif %} {% set has_seo_fields = namespace(value=false) %} {% for field in content_type.fields %} {% if not field.admin_hidden and field.sidebar and field.name.startswith('seo_') %} {% set has_seo_fields.value = true %} {% endif %} {% endfor %} {% if has_seo_fields.value %} {% endif %} {% set has_og_fields = namespace(value=false) %} {% for field in content_type.fields %} {% if not field.admin_hidden and field.sidebar and field.name.startswith('og_') %} {% set has_og_fields.value = true %} {% endif %} {% endfor %} {% if has_og_fields.value %} {% endif %} {% set other_sidebar_fields = [] %} {% for field in content_type.fields %} {% if not field.admin_hidden and field.sidebar and field.name not in ['status', 'published_at', 'featured_image'] and not field.name.startswith('seo_') and not field.name.startswith('og_') %} {% set _ = other_sidebar_fields.append(field) %} {% endif %} {% endfor %} {% if other_sidebar_fields %} {% endif %}
{% if entity %} {% endif %} {% set has_blocks = namespace(value=false) %} {% for field in content_type.fields %} {% if field.type == 'blocks' %} {% set has_blocks.value = true %} {% endif %} {% endfor %} {% if has_blocks.value %} {% include "admin/components/editor.html" %} {% endif %} {# Load SortableJS for form builder #} {% if type_name == 'form' %} {% endif %} {% endblock %}