Created
November 6, 2014 02:31
-
-
Save owldesign/c1268dac2d86e2fb61b1 to your computer and use it in GitHub Desktop.
_edit.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{% extends "_layouts/cp" %} | |
{% set selectedTab = "fields" %} | |
{% import "_includes/forms" as forms %} | |
{% if field is not defined and fieldId is defined %} | |
{% set field = craft.fields.getFieldById(fieldId) %} | |
{% if not field %} | |
{% exit 404 %} | |
{% endif %} | |
{% endif %} | |
{% set crumbs = [ | |
{ label: "FormBuilder"|t, url: url('formbuilder') }, | |
{ label: "Fields"|t, url: url('formbuilder/fields') }, | |
] %} | |
{% if fieldId is defined %} | |
{% set title = field.name %} | |
{% else %} | |
{% set title = "Create a new field"|t %} | |
{% endif %} | |
{% set fieldTypes = craft.fields.getAllFieldTypes() %} | |
{% if field is defined %} | |
{% set fieldType = field.getFieldType() %} | |
{% set isFieldTypeMissing = not fieldType %} | |
{% else %} | |
{% set isFieldTypeMissing = false %} | |
{% endif %} | |
{% if fieldType is not defined or isFieldTypeMissing %} | |
{% set fieldType = craft.fields.getFieldType('PlainText') %} | |
{% endif %} | |
{% set content %} | |
<form method="post" accept-charset="UTF-8" data-saveshortcut> | |
<input type="hidden" name="action" value="formBuilder/fields/saveField"> | |
<input type="hidden" name="redirect" value="formbuilder/fields"> | |
{% if fieldId is defined %} | |
<input type="hidden" name="fieldId" value="{{ fieldId }}"> | |
{% endif %} | |
{{ getCsrfInput() }} | |
{{ forms.textField({ | |
label: "Name"|t, | |
instructions: "What this field will be called in the CP."|t, | |
id: 'name', | |
name: 'name', | |
value: (field is defined ? field.name : null), | |
errors: (field is defined ? field.getErrors('name') : null), | |
required: true, | |
translatable: true, | |
autofocus: true | |
}) }} | |
{{ forms.textField({ | |
label: "Handle"|t, | |
instructions: "How you’ll refer to this field in the templates."|t, | |
id: 'handle', | |
class: 'code', | |
name: 'handle', | |
maxlength: 64, | |
value: (field is defined ? field.handle : null), | |
errors: (field is defined ? field.getErrors('handle') : null), | |
required: true, | |
}) }} | |
{{ forms.textareaField({ | |
label: "Instructions"|t, | |
instructions: "Helper text to guide the author."|t, | |
id: 'instructions', | |
class: 'nicetext', | |
name: 'instructions', | |
value: (field is defined ? field.instructions : null), | |
errors: (field is defined ? field.getErrors('instructions') : null), | |
translatable: true | |
}) }} | |
{% if craft.isLocalized() %} | |
{{ forms.checkboxField({ | |
label: "This field is translatable"|t, | |
name: 'translatable', | |
checked: (field is defined ? field.translatable : false) | |
}) }} | |
{% endif %} | |
<hr> | |
{{ forms.selectField({ | |
label: "Field Type"|t, | |
instructions: "What type of field is this?"|t, | |
warning: (fieldId is defined ? "Changing this may result in data loss."|t), | |
id: 'type', | |
name: 'type', | |
options: fieldTypes, | |
value: fieldType.getClassHandle(), | |
errors: (isFieldTypeMissing ? ["The fieldtype class “{class}” could not be found."|t({ class: field.type })] : null), | |
toggle: true | |
}) }} | |
{% for _fieldType in fieldTypes %} | |
{% set isCurrent = (_fieldType.getClassHandle() == fieldType.getClassHandle()) %} | |
<div id="{{ _fieldType.getClassHandle() }}"{% if not isCurrent %} class="hidden"{% endif %}> | |
{% namespace 'types['~_fieldType.getClassHandle()~']' %} | |
{% if isCurrent %} | |
{{ fieldType.getSettingsHtml()|raw }} | |
{% else %} | |
{{ _fieldType.getSettingsHtml()|raw }} | |
{% endif %} | |
{% endnamespace %} | |
</div> | |
{% endfor %} | |
<hr> | |
<div class="buttons"> | |
<input type="submit" class="btn submit" value="{{ 'Save'|t }}"> | |
</div> | |
</form> | |
{% endset %} | |
{% if field is not defined or not field.handle %} | |
{% includeJs "new Craft.HandleGenerator('#name', '#handle');" %} | |
{% endif %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment