risposta di sdespont è la risposta corretta e degna di essere selezionato. Tuttavia, ho esteso la sua funzionalità per includere l'aggiunta dell'icona di classe fa personalizzata e se l'icona è posizionata a sinistra oa destra del testo del pulsante.
Poiché questa funzionalità accetta variabili, la cosa migliore da fare è creare un modello da riutilizzare invece di personalizzare solo la vista.
modello di modulo: app/Resources/views/form/submit.html.twig
{# app/Resources/views/form/submit.html.twig #}
{% block submit_widget %}
{% set type = type|default('submit') %}
{% if label is empty %}
{% if label_format is not empty %}
{% set label = label_format|replace({
'%name%' : name,
'%id%' : id,
}) %}
{% else %}
{% set label = name|humanize %}
{% endif %}
{% endif %}
<button type="{{ type|default('button') }}" {{ block('button_attributes') }}>
{% if fa is defined %}
{% if left is defined and left %}
<i class="fa {{ fa }}"></i>
{% endif %}
{{ translation_domain is same as(false) ? label : label|trans({}, translation_domain) }}
{% if right is defined and right %}
<i class="fa {{ fa }}"></i>
{% endif %}
{% else %}
{{ translation_domain is same as(false) ? label : label|trans({}, translation_domain) }}
{% endif %}
</button>
{% endblock submit_widget %}
Controller:
$form = $this->createFormBuilder($user)
...
->add('submit', SubmitType::class, array(
'attr'=> array('class'=>'myclass')
))
->getForm();
Twig modello:
{{ form_widget(form.submit, {'fa' : 'fa-long-arrow-right','right' : true}) }}
È possibile impostare qualsiasi vecchia icona fa e anche dimensionamento in questo modo: fa-long-arrow-right fa-2x
fonte
2016-09-14 14:45:04
@Raphael_b Qualsiasi commento sarebbe apprezzato – sdespont
il tuo post è fantastico; Devo ancora lavorare un po 'per dominarlo completamente. Molte grazie; scusa per la risposta tardiva, ero fuori per un giorno. –