1

Symfony2 アプリケーションに問題があります。コントローラーでは、facebook ユーザーの配列を取得し、それをフォーム クラスに投稿して、いくつかのチェックボックスを作成します。私のテンプレートでは、これらのチェックボックスをこれらのユーザーの写真として印刷する必要があります。私は次のように印刷しようとしています: {{form_row(form.{{girl.id}})}}、しかし TWIG テンプレートは変数 {{girl.id}} を行の名前として使用することを許可していません。これらのチェックボックスを画像として印刷する方法がわかりません。誰でもこれで私を助けることができますか?

これはコントローラのアクションです

public function indexAction()
    {

        $facebook = $this->get('facebook');
        $friends = $facebook->api('me/friends?fields=id,name,gender');

        $friends = $friends['data'];
        foreach($friends as $friend){

            if(array_key_exists('gender',$friend))
            {
            if($friend['gender'] =='female')
                $girls[]=$friend;
            }
            }
            for ($i=0; $i <5; $i++) { 
                $default[]=$girls[$i];
            }
        $formular = new FriendsForm();
        $formular->addFriend($default);

        $form = $this->createForm($formular);




        return array('girls'=>$default,'form' => $form->createView());
    }

これは私のフォームクラスです

class FriendsForm extends AbstractType
{
    private $friends;

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $friends = $this->friends;

        foreach($friends as $friend)
        {
            $builder
            ->add($friend['id'],'checkbox',array('label' => false,'required'=>false, 'value'=>$friend['']));
        ;    
        }

    }


    public function getName()
    {
        return '';

    }

     public function addFriend($data)
    {
        $this->friends = $data;
    }

}

これは私のテンプレートです

<p>
{%if girls is defined%}
{{form_start(form)}}
{%for girl in girls%}
{{form.row(form.{{girl.id}})}}
{%endfor%}
{{form_end(form)}}
{%endif%}
</p>
4

2 に答える 2

0

次のように書くことができます

{{form.row(form[girl.id])}}
于 2016-09-22T11:03:32.257 に答える