html php Два экшена (action) в одной форме (form). Как по-разному обрабатывать данные из одной формы?

Задача

Имеется форма с полями-фильтрами для поиска массива данных.
Требуется в зависимости от нажатия на кнопку [Применить] или [Скачать] выводить полученые данные на экран или отдавать сформированый excel.
В обоих случаях поиск производится с учётом полей формы. То есть форма одна, а кнопки - две.

Решение

Решается приятно просто) Можно вместо атрибута action для формы указывать роут, по которому пойдут данные, в атрибуте formaction тега button:

<form method="GET">
      <input id="datepicker" name="date_from"
          value="{% if dateFrom is not null %}{{ dateFrom|date('Y-m-d') }}{% endif %}">
      <input id="datepicker1" name="date_to"
          value="{% if dateTo is not null %}{{ dateTo|date('Y-m-d') }}{% endif %}"> 

     <button formaction="{{ path('manager_detalization_sales')}}"
          class="db alCenter blue_button cp fleft">Применить</button>
     <button formaction="{{ path('manager_download_detalization_sales')}}"
         class="db alCenter blue_button cp fleft">Скачать реестром</button>
</form>

Источники