{% extends 'field-manager/_layouts' %} {% import '_includes/forms' as forms %} {% import _self as fieldManagerMacros %} {% set title = 'Import' %} {% set selectedTab = 'import' %} {% set fullPageForm = true %} {% set groups = craft.app.fields.allGroups %} {% set groupOptions = [ { label: 'Don‘t Import' | t('field-manager'), value: 'noimport' }, ] %} {% for group in groups %} {% set groupOptions = groupOptions | merge([{ label: group.name, value: group.id }]) %} {% endfor %} {% block submitButton %} {% endblock %} {% block blockContent %}

{{ 'Choose how you want to import your fields. You can modify the Name and Handle for each field, along with assigning it to a Field Group.' | t('field-manager') }}

{% set groups = craft.app.fields.allGroups %} {% for index, field in fields %} {% namespace 'fields[' ~ index ~ ']' %} {% if field.type and field.type != 'craft\\fields\\MissingField' %} {% set hasNestedFields = '' %} {% if field.type == 'craft\\fields\\Matrix' %} {% set hasNestedFields = 'select-type-matrix' %} {% elseif field.type == 'benf\\neo\\Field' %} {% set hasNestedFields = 'select-type-neo' %} {% elseif field.type == 'verbb\\supertable\\fields\\SuperTableField' %} {% set hasNestedFields = 'select-type-super-table' %} {% endif %} {% else %} {% endif %} {% if field.type == 'craft\\fields\\Matrix' %} {{ fieldManagerMacros.matrixField(index, field) }} {% elseif field.type == 'benf\\neo\\Field' %} {{ fieldManagerMacros.neoField(index, field) }} {% elseif field.type == 'verbb\\supertable\\fields\\SuperTableField' %} {{ fieldManagerMacros.superTableField(index, field) }} {% endif %} {% endnamespace %} {% endfor %}
{{ 'Field Name' | t('field-manager') }} {{ 'Field Handle' | t('field-manager') }} {{ 'Field Type' | t('field-manager') }} {{ forms.selectField({ id: 'groupAll', name: 'groupAll', options: groupOptions, value: fields[0].groupId is defined ? fields[0].groupId : null }) }}
{{ forms.textField({ id: 'name', name: 'name', value: field.name, }) }} {{ forms.textField({ id: 'handle', name: 'handle', class: 'code', value: field.handle, }) }} {% if errors[field.handle] is defined %} {% if errors[field.handle] is iterable %} {{ errors[field.handle] | json_encode }} {% else %} {{ errors[field.handle].getFirstError('handle') }} {% endif %} {% endif %} {{ displayName(field.type) }} {{ forms.selectField({ id: 'groupId', class: 'groupSelect ' ~ hasNestedFields, name: 'groupId', options: groupOptions, value: field.groupId | default(''), }) }} {{ field.type }}
{{ 'Back' | t('field-manager') }}
{{ "New Field Group" | t('field-manager') }}
{% endblock %} {% macro superTableField(index, field) %} {% import '_includes/forms' as forms %} {% import _self as fieldManagerMacros %} {% set options = [ { label: 'Don‘t Import' | t('field-manager'), value: 'noimport' }, { label: 'Include' | t('field-manager'), value: 'include' }, ] %} {% for blockType in field.settings.blockTypes %} {% set blockIndex = loop.index %} {% for blockTypeField in blockType.fields %} {% namespace 'settings[blockTypes][new' ~ blockIndex ~ '][fields][new' ~ loop.index ~ ']' %} {{ fieldManagerMacros.nestedField(blockTypeField, index) }} {% endnamespace %} {% endfor %} {% endfor %} {% endmacro %} {% macro matrixField(index, field) %} {% import '_includes/forms' as forms %} {% import _self as fieldManagerMacros %} {% set options = [ { label: 'Don‘t Import' | t('field-manager'), value: 'noimport' }, { label: 'Include' | t('field-manager'), value: 'include' }, ] %} {% for blockTypeId, blockType in field.settings.blockTypes %} {% set blockIndex = loop.index %} {{ forms.textField({ id: 'name', name: 'settings[blockTypes][new' ~ blockIndex ~ '][name]', value: blockType.name, }) }} {{ forms.textField({ id: 'handle', name: 'settings[blockTypes][new' ~ blockIndex ~ '][handle]', class: 'code', value: blockType.handle, }) }} {{ 'Blocktype' | t('field-manager') }} {{ forms.selectField({ id: 'groupId', class: 'groupSelect groupSelectNested select-blocktype', name: 'settings[blockTypes][new' ~ blockIndex ~ '][groupId]', options: options, }) }} {% for blockTypeField in blockType.fields %} {% namespace 'settings[blockTypes][new' ~ blockIndex ~ '][fields][new' ~ loop.index ~ ']' %} {{ fieldManagerMacros.nestedField(blockTypeField, index, blockTypeId) }} {% endnamespace %} {% endfor %} {% endfor %} {% endmacro %} {% macro neoField(index, field) %} {% import '_includes/forms' as forms %} {% import _self as fieldManagerMacros %} {% set options = [ { label: 'Don‘t Import' | t('field-manager'), value: 'noimport' }, { label: 'Include' | t('field-manager'), value: 'include' }, ] %} {% for blockTypeId, blockType in field.settings.blockTypes %} {% set blockIndex = loop.index %} {{ forms.textField({ id: 'name', name: 'settings[blockTypes][new' ~ blockIndex ~ '][name]', value: blockType.name, }) }} {{ forms.textField({ id: 'handle', name: 'settings[blockTypes][new' ~ blockIndex ~ '][handle]', class: 'code', value: blockType.handle, }) }} {{ 'Blocktype' | t('field-manager') }} {{ forms.selectField({ id: 'groupId', class: 'groupSelect groupSelectNested select-blocktype', name: 'settings[blockTypes][new' ~ blockIndex ~ '][groupId]', options: options, }) }} {% if blockType.fieldLayout is not null %} {% set fieldLayout = craft.fieldManager.createFieldLayoutFromConfig(blockType.fieldLayout) %} {% for blockTypeTabIndex, blockTypeFieldTab in fieldLayout.getTabs() %} {% for fieldLayoutElementIndex, fieldLayoutElement in blockTypeFieldTab.elements %} {% namespace 'settings[blockTypes][new' ~ blockIndex ~ '][fieldLayout][' ~ blockTypeTabIndex ~ '][' ~ fieldLayoutElementIndex ~ ']' %} {{ fieldManagerMacros.nestedFieldLayoutElement(fieldLayoutElement, index, blockTypeId, true) }} {% endnamespace %} {% endfor %} {% endfor %} {% endif %} {% endfor %} {% endmacro %} {% macro nestedField(field, index, blockTypeId = '', readonly = false) %} {% import '_includes/forms' as forms %} {% import _self as fieldManagerMacros %} {% set options = [ { label: 'Don‘t Import' | t('field-manager'), value: 'noimport' }, { label: 'Include' | t('field-manager'), value: 'include' }, ] %} {{ forms.textField({ id: 'name', name: 'name', value: field.name, readonly: readonly, }) }} {{ forms.textField({ id: 'handle', name: 'handle', class: 'code', value: field.handle, readonly: readonly, }) }} {% if field.type and field.type != 'craft\\fields\\MissingField' %} {{ displayName(field.type) }} {{ forms.selectField({ id: 'groupId', class: 'groupSelect groupSelectNested', name: 'groupId', options: options, }) }} {% else %} {{ field.type }} {% endif %} {% endmacro %} {% macro nestedFieldLayoutElement(fieldLayoutElement, index, blockTypeId = '', readonly = false) %} {% import '_includes/forms' as forms %} {% import _self as fieldManagerMacros %} {% set options = [ { label: 'Don‘t Import' | t('field-manager'), value: 'noimport' }, { label: 'Include' | t('field-manager'), value: 'include' }, ] %} {% if className(fieldLayoutElement) == 'craft\\fieldlayoutelements\\CustomField' %} {% set field = fieldLayoutElement.getField() %} {{ forms.textField({ id: 'name', name: 'name', value: field.name, readonly: readonly, }) }} {{ forms.textField({ id: 'handle', name: 'handle', class: 'code', value: field.handle, readonly: readonly, }) }} {% if className(field) != 'craft\\fields\\MissingField' %} {{ displayName(className(field)) }} {{ forms.selectField({ id: 'groupId', class: 'groupSelect groupSelectNested', name: 'groupId', options: options, }) }} {% else %} {{ className(field) }} {% endif %} {% else %} {{ forms.textField({ id: 'name', name: 'name', value: displayName(fieldLayoutElement), readonly: readonly, }) }} {{ displayName(fieldLayoutElement) }} {{ forms.selectField({ id: 'groupId', class: 'groupSelect groupSelectNested', name: 'groupId', options: options, }) }} {% endif %} {% endmacro %}