Symfony & cropper-bundle: многократное использование поля BreithbarbotCropper в одной форме не работает - PullRequest
0 голосов
/ 18 апреля 2020

Начиная с 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) }} отлично работает

И, наконец, код страницы

f12

Я где-то ошибся? Я нашел ошибку в комплекте? Спасибо за вашу помощь :)

Я также разместил это сообщение в github breithbarbot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...