首页 > 解决方案 > Symfony:每次视图打印多个表单

问题描述

我用builderform. 当您单击其中一条消息时,视图会显示私人消息列表,打开一个模式窗口,所有这些都有效,但是当我将表单复制到模式中时,只有最后一条私人消息显示此表单,其他模式窗口没有不打印这个。

这是我的表格:

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>

标签: symfonytwigsymfony-forms

解决方案


推荐阅读