2016-07-14 11 views
2

Ich habe ein Unternehmen Klasse mit dem Namen Ad, es enthält Felder wieFormularfeld nicht angezeigt

id, banner, interstitial

Das Problem ist, wenn ich versuche, das Formular zu erstellen, mit dieser Einheit ‚Banner‘ Textfeld nicht angezeigt wird (nicht gerendert), nur das Etikett.

Ich bemerkte, dass die ID des Feldes ad_banner ist wenn ich die ID in Browser prüfen Element ändern, wird sie angezeigt ...
Was ad_banner in symfony ist, warum es sie versteckt?

Ich will nicht den Namen des Feldes ändern, und ich will nicht die ID aus dem Zweig ändern, weil ich es einfach so halten will:

<div class="row"> 
    <div class="col-md-6"> 
     {{ form_start(form) }} 
     {{ form_widget(form) }} 
     {{ form_end(form) }} 
    </div> 
</div> 

I zu ändern versucht, die ID des Feldes vom Formularbuilder, aber ohne Erfolg. Vielen Dank!

Ad Klasse

/** 
* @var string 
* 
* @ORM\Column(name="banner", type="string", length=255, nullable=true) 
*/ 
private $banner; 

adType Form

/** 
* @param FormBuilderInterface $builder 
* @param array $options 
*/ 
public function buildForm(FormBuilderInterface $builder, array $options) { 
    $builder->add('account', EntityType::class, [ 
       'class' => 'AppBundle:Account', 
       'choice_label' => 'name', 
       'attr' => ['data-select' => 'true'] 
      ]) 
      ->add('banner', TextType::class, [ 
       'attr' => [ 
        'placeholder' => 'Banner Id...' 
       ] 
      ]) 
      ->add('interstitial', TextType::class, [ 
       'attr' => [ 
        'placeholder' => 'Interstitial Id...' 
       ] 
      ]) 
      ->add('submit', SubmitType::class, [ 
       'label' => 'Create', 
       'attr' => [ 
        'class' => 'btn btn-primary btn-sm' 
       ] 
      ]) 
    ; 
} 

generierte HTML

<div class="form-group"> 
    <label class="control-label required" for="ad_banner">Banner</label> 
    <input type="text" id="ad_banner" name="ad[banner]" required="required" placeholder="Banner Id..." class="form-control"> 
</div> 

enter image description here

Ich nahm den Stil heraus, weil ich dachte, dass vielleicht einige js es versteckt.

+0

Es sieht aus wie Sie versuchen, in Formularfelder zu rendern, die nicht in Entität existiert. Kann hinzufügen Option * 'zugeordnet' => falsch * für Formularklasseneigenschaften? – Rinat

+0

es existiert in entity ... und wird zum DOM hinzugefügt aber mit display none ... wait Ich werde mit einem image updaten –

+0

In diesem Fall kommt dieses Problem von ** YieldManager ** und bezieht sich nicht auf Symfony – Rinat

Antwort