В моем Symfony2 проекта, у меня есть две связки:Два жгуты используют один и тот же слушатель событий
UploadBundle
, который регистрирует загруженный файл вDatabase
; и *UploadSfdcBundle
, который регистрирует upoaded файл вSalesForce
Я использую oneup/uploader-bundle
, чтобы загрузить файлы.
Я настроил слушателя событий для каждого комплекта, как это:
Для uploadBundle
:
services.yml:
services:
envivio_upload.upload_listener:
class: Envivio\UploadBundle\Listeners\UploadListener
arguments: [@doctrine.orm.entity_manager]
tags:
- { name: kernel.event_listener, event: oneup_uploader.pre_upload, method: onPreUpload }
- { name: kernel.event_listener, event: oneup_uploader.post_upload, method: onPostUpload }
UploadListener
класс загрузки файла в Database
и для UploadSfdcbundle:
services.yml:
services:
envivio_upload_sfdc.upload_listener:
class: Envivio\UploadSfdcBundle\Listeners\UploadSfdcListener
arguments: ["@codemitte_forcetk.client", "@codemitte_forcetk.query_builder"]
tags:
- { name: kernel.event_listener, event: oneup_uploader.pre_upload, method: onPreUpload }
- { name: kernel.event_listener, event: oneup_uploader.post_upload, method: onPostUpload }
UploadSfdcListener
загрузить файл в SalesForce
.
Проблема в том, что если я хочу загрузить файл в database
, будет выполнен и прослушиватель SalesForce
, и наоборот.
Как я могу сказать, Symfony2 использовать UploadListener
, когда я загрузке в database
и использовать UploadSfdcListener
когда я загрузки на Salesforce
?
Использование различного события – jamek
Кажется, что вы запускаете оба события, когда выполняете свои закачки, так как кажется, что ваши services.yml прекрасны, поскольку имена обоих событий разные. – Augwa
@jamek как я могу использовать другое событие; событие 'oneup_uploader.pre_upload' предопределено в' oneup/uploader-bundle' – ihssan