Skip to content

Commit

Permalink
Fixed issue with nested fileds not showing up in data.*.twig templates
Browse files Browse the repository at this point in the history
  • Loading branch information
rhukster committed Apr 18, 2017
1 parent 46ee5ca commit c5902ed
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 37 deletions.
62 changes: 36 additions & 26 deletions templates/forms/default/data.html.twig
Original file line number Diff line number Diff line change
@@ -1,29 +1,39 @@
{% for index, field in form.fields %}
{% set input = attribute(field, "input@") %}
{% if input is null or input == true %}
{% block field %}
<div>
{% block field_label %}
<strong>{{ field.label|t|e }}</strong>:
{% endblock %}
{% macro render_field(form, fields) %}
{% for index, field in fields %}
{% set input = attribute(field, "input@") %}
{% if input is null or input == true %}
{% if form.value(field.name) %}
{% block field %}
<div>
{% block field_label %}
<strong>{{ field.label|t|e }}</strong>:
{% endblock %}

{% block field_value %}
{% if field.type == 'checkboxes' %}
<ul>
{% for value in form.value(field.name) %}
<li>{{ field.options[value]|e }}</li>
{% endfor %}
</ul>
{% elseif field.type == 'checkbox' %}
{{ (form.value(field.name) == 1) ? "PLUGIN_FORM.YES"|t|e : "PLUGIN_FORM.NO"|t|e }}
{% elseif field.type == 'select' %}
{{ field.options[form.value(field.name)]|e }}
{% else %}
{{ string(form.value(field.name)|e)|nl2br }}
{% endif %}
{% block field_value %}
{% if field.type == 'checkboxes' %}
<ul>
{% for value in form.value(field.name) %}
<li>{{ field.options[value]|e }}</li>
{% endfor %}
</ul>
{% elseif field.type == 'checkbox' %}
{{ (form.value(field.name) == 1) ? "PLUGIN_FORM.YES"|t|e : "PLUGIN_FORM.NO"|t|e }}
{% elseif field.type == 'select' %}
{{ field.options[form.value(field.name)]|e }}
{% else %}
{{ string(form.value(field.name)|e)|nl2br }}
{% endif %}
{% endblock %}
</div>
{% endblock %}
</div>
{% endblock %}
{% endif %}
{% else %}
{% if field.fields is iterable %}
{{ _self.render_field(form, field.fields) }}
{% endif %}
{% endif %}
{% endfor %}
{% endmacro %}

{{ _self.render_field(form, form.fields) }}

{% endif %}
{% endfor %}
27 changes: 16 additions & 11 deletions templates/forms/default/data.txt.twig
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
{% autoescape false %}

{% for index, field in form.fields %}
{% set input = attribute(field, "input@") %}
{% if input is null or input == true %}
{% set value = form.value(field.name ?? index) %}
{{ field.name ?? index }}: {{ string((value is iterable ? value|json_encode : value)|nl2br)|replace({"\n":' ', "\r":' '}) }}
{% endif %}
{% endfor %}

{% endautoescape %}
{%- macro render_field(form, fields) %}
{%- for index, field in fields %}
{%- set input = attribute(field, "input@") %}
{%- if input is null or input == true %}
{%- set value = form.value(field.name ?? index) %}
{{- field.name ?? index }}: {{ string((value is iterable ? value|json_encode : value)) ~ "\r\n" }}
{%- else %}
{%- if field.fields is iterable %}
{{- _self.render_field(form, field.fields) }}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- endmacro %}
{%- autoescape false %}
{{- _self.render_field(form, form.fields) ~ "\r\n" }}
{%- endautoescape %}

0 comments on commit c5902ed

Please sign in to comment.