2014-12-20 1 views
1

양식의 테이블 행 ID에 나뭇 가지 변수를 추가하고 싶습니다.심포니 폼의 id 속성을 나뭇 가지 변수로 설정

{% for child in form %}    
    {{ form_widget(child, {'id':'asterisks-rating-loop.index' }) }} 
{% endfor %} 

현재는 twig 변수로 구문 분석되지 않습니다. Javascript 나 jQuery를 사용하지 않고이 설정을 사용하여 id를 'asterisks-rating-'loop.index로 설정하는 방법이 있습니까? 이러한 솔루션 작업

{{ form_widget(child, {'id':'asterisks-rating-{{loop.index}}' }) }} 
{{ form_widget(child, {'id':'asterisks-rating-'{{loop.index}}'' }) }} 

그러나 분명히 없음 :

나는 그것을 '탈출'시도했다.

답변

3

사용

{{ form_widget(child, {'id':'asterisks-rating-' ~ loop.index }) }} 
0

가장 좋은 방법은 다음과 같아야합니다

  • 은 여러 형태 대신 form collection를 추가 할 경우에 할 수 있습니다 (예를 들어 양식이 개별적으로 처리되지 않는 경우.). 폼은 개별적으로 처리하는 경우

  • 예, 유형의 getName() 방법으로 동적 ID를 추가 할 :

BobType.php

<?php 

namespace Fuz\AppBundle\Form; 

use Symfony\Component\OptionsResolver\OptionsResolverInterface; 
use Symfony\Component\Form\AbstractType; 
use Symfony\Component\Form\FormBuilderInterface; 

class BobType extends AbstractType 
{ 

    protected $suffix; 

    public function __construct($suffix) 
    { 
     $this->suffix = $suffix; 
    } 


    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('whatever', 'text') 
     ; 
    } 

    public function setDefaultOptions(OptionsResolverInterface $resolver) 
    { 
     $resolver->setDefaults(array (
       'data_class' => 'Fuz\AppBundle\Entity\BobData', 
     )); 
    } 

    public function getName() 
    { 
     return 'BobType-' . $suffix; 
    } 

} 

BobController.php

$formA = new BobType("hello"); // {{ formA.whatever.vars.id == BobType-hello-whatever }} 
$formB = new BobType("world"); // {{ formB.whatever.vars.id == BobType-world-whatever }}