Начиная с Symfony 5, я установил и настроил этот пакет обрезки . Все работает как шарм, когда я использую только одно поле BreithbarbotCropperType в форме. Но когда я хочу использовать два поля BreithbarbotCropperType в одной форме, я получаю странную ошибку:
- На моем веб-сайте я go перехожу на «новую» страницу моей сущности (статья)
- Отображаются два поля BreithbarbotCropper [1]
- Но , когда я нажимаю на второе поле [2] (поле основного изображения), появляются два всплывающих окна «Инструмент обрезки» (вместо одного) [3] .
- Первое всплывающее окно 'Инструмент обрезки' не работает (нажатие на область изображения не оказывает никакого влияния и в консоли javascript нет ошибок) [4]
- Первый всплывающий «Инструмент обрезки» не работает, поэтому я закрываю его, и я могу использовать второй «Попин» [5]
- Клик на область изображения второго попина работает хорошо (я могу выбрать изображение и обрезать его). [6]
- Но когда я нажимаю кнопку «Сохранить», второе поле моей формы остается пустым. Первое поле «Изображение тизера» было использовано вместо [7]
Конечно, я следовал здесь на странице «Инструкции по многократному использованию» https://github.com/breithbarbot/cropper-bundle/blob/master/Resources/doc/usage_multiple.md
Мой код:
Файл config/packages/breithbarbot_cropper.yaml
:
breithbarbot_cropper:
mappings:
article_teaserImage:
routes:
path_add: 'admin_cropper_article_teaserImage'
ratio: '16/9'
article_mainImage:
routes:
path_add: 'admin_cropper_article_mainImage'
ratio: '82/25'
Файл src/Form/ArticleType,php
:
$editT = (null !== $builder->getData()->getTeaserImage());
$editM = (null !== $builder->getData()->getMainImage());
$builder
->add('teaserImage', BreithbarbotCropperType::class, [
'mapped' => $editT,
'mapping' => 'article_teaserImage',
'additional_data' => [
'entity_id' => $builder->getData()->getId(), // Get current ID
],
'identifier' => 'crop1',
])
->add('mainImage', BreithbarbotCropperType::class, [
'mapped' => $editM,
'mapping' => 'article_mainImage',
'additional_data' => [
'entity_id' => $builder->getData()->getId(), // Get current ID
],
'identifier' => 'crop2',
])
И файл шаблона ветки:
{% include '@BreithbarbotCropper/Form/cropper_modal.html.twig' with {'mapping': 'article_teaserImage','id': 'crop1'} %}
{% include '@BreithbarbotCropper/Form/cropper_modal.html.twig' with {'mapping': 'article_mainImage','id': 'crop2'} %}
{#{{ include('article/_form.html.twig') }}#} {# commented for debugging #}
{{ form_row(form.teaserImage) }}
{{ form_row(form.mainImage) }}
=> В файле шаблона ветки, если я комментирую {{ form_row(form.mainImage) }}
, {{ form_row(form.teaserImage) }}
работает отлично.
=> И наоборот, если я прокомментирую {{ form_row(form.teaserImage) }}
, {{ form_row(form.mainImage) }}
отлично работает
И, наконец, код страницы
Я где-то ошибся? Я нашел ошибку в комплекте? Спасибо за вашу помощь :)
Я также разместил это сообщение в github breithbarbot