Symfony: печать нескольких форм для одного просмотра - PullRequest
1 голос
/ 11 июля 2020

Я создал форму с builderform. В представлении отображается список личных сообщений, когда вы щелкаете одно из сообщений, открывается модальное окно, все это работает, но когда я копирую форму в модальное окно, только последнее личное сообщение показывает эту форму, другие модальные windows не печатает это.

Это моя форма:

class MessageReplyFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
     {
    $builder
        ->add('reply', TextareaType::class, array(
            'label'=>false,
            'required'=>true,
            "attr" => array('placeholder'=>'Escribe aquí tu mensaje...')
        ))

        ->add('image', FileType::class, [
            'label' => false,
            'required' => false,
            'data_class' => null,
            'mapped' => false,
            'attr'=>[
                'class' => 'input-image',
                'lang'=>'es',
                'placeholder' => "Subir imagen ..."
            ],
            'constraints' => [ new Image(['maxSize' => '500k'])
            ]
        ])

        ->add('send', SubmitType::class, array(
            "label" => 'send',
            "attr" => array(
                "class" => "form-submit btn btn-default btn-vibrisas btn-reply"
            )
        ))

    ;
}

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults([
        'data_class' => MessageReply::class,
    ]);
}
}

Вот мой взгляд ...

<div class="card">
<div class="card-body publications-container">
   <h1 class="pub">Mensajes privados</h1>
   <hr>
   {% for p in private_messages %}
   <div class="card message-card">
      <div class="card-body message-body" >
         <!-- Information about each message -->
      </div>
   </div>
   <!-- The Modal -->
   <div id="openMessage-{{ p.id }}" tabindex="-1" class="openMessage modal fade" role="dialog">
      <div class="modal-dialog modal-lg">
         <div class="modal-content">
            <!-- Modal Header -->
            <div class="modal-header">
               <!-- basic message information -->
            </div>
            <!-- Modal body -->
            <div class="modal-body">
               <div class="message-f">
                  <a href="/profile/{{ p.emitter.id }}" class="user-name">{{ p.emitter.name }}</a><br>
                  {{ p.message }}<br>
                  {% if p.image != null %}
                  <div class="openImage" data-toggle="modal" data-target="#openImage-{{ p.id }}" href="/uploads/users/messages/{{ p.image }}">
                     <img class="message-image" src="{{ asset('/uploads/users/messages/'~p.image) }}"/>
                  </div>
                  <div id="openImage-{{ p.id }}" class="openImage modal" tabindex="-1" role="dialog">
                     <div class="modal-dialog modal-dialog-centered">
                        <div class="modal-content">
                           <img src="{{ asset('/uploads/users/messages/'~p.image) }}"/>
                        </div>
                     </div>
                  </div>
                  {% endif %}
               </div>
               {% form_theme message_reply 'bootstrap_4_layout.html.twig' %}
               {{ form_start(message_reply) }}
               <input type="text" name="idmessage" required class="form-control border-input hidden" placeholder="" value="{{ p.id }}">
               {{ form_end(message_reply) }}
            </div>
         </div>
      </div>
   </div>
   <!-- end modal -->
   {% endfor %}
</div>
...