В настоящее время я работаю над веб-приложением, написанным на Symfony. Я должен добавить функцию «экспорт в CSV» в бэкэнд/административную часть приложения для некоторых модулей. В представлении списка должна быть кнопка «Экспорт», которая должна предоставить пользователю CSV-файл отображаемых элементов (с учетом критериев фильтрации).
Я создал метод в классе действий модуля, который принимает список идентификаторов, разделенных запятыми, и генерирует CSV, но я не совсем уверен, как добавить ссылку на него в представлении. Проблема в том, что представления нигде нет, оно генерируется на лету из данных в конфигурационном файле generator.yml
. Я разместил соответствующую часть файла ниже.
Я новичок в Symfony, поэтому буду признателен за любую помощь :).
Спасибо,
Алекс
Обновлять
list:
display: [id, =name, indemn, _status, _participants, _approved_, created_at]
title: Lista acţiuni
object_actions:
_edit: ~
_delete: ~
actions:
_create: ~
export_csv:
name: Export to CSV
action: CSVExport
params: id=csvActionSubmit
filters: [name, county_id, _status_filter, activity_id]
fields:
id:
name: Nr. crt.
...
Благодаря вашему совету мне удалось добавить кнопку, связанную с моим действием. Проблема в том, что мне также нужно отправить некоторые параметры в действие, потому что я могу не захотеть все элементы - возможно, были использованы фильтры. К сожалению, проект использует Symfony 1.0, который не поддерживает batch_actions
.
В настоящее время я работаю над этим с помощью Javascript (я анализирую DOM, чтобы получить числовые идентификаторы (из таблицы отображения), а затем создаю ссылку для кнопки. Я действительно думаю, что для этого может быть лучший способ.