{% set renderBackButton = flow.getFirstStepNumber() < flow.getLastStepNumber() and flow.getCurrentStepNumber() in (flow.getFirstStepNumber() + 1) .. flow.getLastStepNumber() %}{% set renderResetButton = craue_formflow_button_render_reset is defined ? craue_formflow_button_render_reset : true %}{% set buttonCount = 1 + (renderBackButton ? 1 : 0) + (renderResetButton ? 1 : 0) %}<div class="craue_formflow_buttons craue_formflow_button_count_{{ buttonCount }}">{#Default button (the one trigged by pressing the enter/return key) must be defined first.Thus, all buttons are defined in reverse order and will be reversed again via CSS.See http://stackoverflow.com/questions/1963245/multiple-submit-buttons-specifying-default-button#}{%- set isLastStep = flow.getCurrentStepNumber() == flow.getLastStepNumber() -%}{%- set craue_formflow_button_class_last = craue_formflow_button_class_last | default('craue_formflow_button_last') -%}{%- set craue_formflow_button_class_last = isLastStep? craue_formflow_button_class_finish | default(craue_formflow_button_class_last): craue_formflow_button_class_next | default(craue_formflow_button_class_last)-%}{%- set craue_buttons = [{label: craue_formflow_button_label_back | default('button.back'),render: renderBackButton,attr: {class: craue_formflow_button_class_back | default(''),name: flow.getFormTransitionKey(),value: 'back',formnovalidate: 'formnovalidate',tabindex: 2},},{label: craue_formflow_button_label_last | default(isLastStep ? craue_formflow_button_label_finish | default('button.finish') : craue_formflow_button_label_next | default('button.next')),render: true,attr: {class: craue_formflow_button_class_last,id: 'next-btn',tabindex: 1},},] -%}{% for button in craue_buttons %}{% if button.render %}<button type="submit"{% for key, value in button.attr %} {{ key }}="{{ value }}"{% endfor %}>{{- button.label | trans({}, 'CraueFormFlowBundle') -}}</button>{% endif %}{% endfor %}</div>