2016-03-31 14 views
0

私は3つのエンティティフィールドにラジオ入力を表示するフォームを持っています。symfony2カスタムradio_widgetエンティティのアクセス

->add(
      'membership', 
      'entity', 
       array(
       'class' => 'Comiti\UserBundle\Entity\Membership', 
       'expanded' => true, 
       'multiple' => false, 
       'label' => false, 
       'empty_value' => 'Aucune adhésion', 
       'query_builder' => function (MembershipRepository $er) { 
        return $er->createQueryBuilder('membership') 
         ->where('membership.club = :club') 
         ->setParameter('club', $this->authentication_service->getCurrentClub()) 
         ->orderBy('membership.name', 'ASC') 
        ; 
       }, 
      ) 
     )->add(
      'federal_license', 
      'entity', 
       array(
       'class' => 'Comiti\UserBundle\Entity\FederalLicense', 
       'expanded' => true, 
       'multiple' => false, 
       'label' => false, 
       'empty_value' => 'Aucune licence', 
       'query_builder' => function (FederalLicenseRepository $er) { 
        return $er->createQueryBuilder('federal_license') 
         ->where('federal_license.club = :club') 
         ->setParameter('club', $this->authentication_service->getCurrentClub()) 
         ->orderBy('federal_license.name', 'ASC') 
        ; 
       } 
      ) 
     )->add(
      'insurance', 
      'entity', 
       array(
       'class' => 'Comiti\UserBundle\Entity\Insurance', 
       'expanded' => true, 
       'multiple' => false, 
       'label' => false, 
       'empty_value' => 'Aucune assurance', 
       'query_builder' => function (InsuranceRepository $er) { 
        return $er->createQueryBuilder('insurance') 
         ->where('insurance.club = :club') 
         ->setParameter('club', $this->authentication_service->getCurrentClub()) 
         ->orderBy('insurance.name', 'ASC') 
        ; 
       } 
      ) 
     ); 

各入力に「データ価格」というattrを入れたラジオ入力用のカスタムテンプレートを定義する必要があります。 私はこの作られた:

{%- block radio_widget -%} 
<input type="radio" data-price="{{Myprivcevar}}" {{ block('widget_attributes') }}{% if value is defined %} value="{{ value }}"{% endif %}{% if checked %} checked="checked"{% endif %} /> 

が {{MypriceVar}}にアクセスするには、いずれかの可能性がある、私はあなたがカスタムテンプレートを作成することなく、入力に属性を追加することができsymfonyの2.6

答えて

0

日午前:

{{ form_widget(yourRow, {'attr': {'data-price':'yourValue'}}) }} 

例:

{{ form_widget(choiceFormView, {'attr': {'data-price':'2'}}) }} 

Rエスキュート

<input type="radio" id="form_choice_0" name="form[choice]" required="required" data-price="2" value="1" checked="checked"> 
関連する問題