2016-12-13 7 views
0

Ich bin neu in Symfony und ich versuche, ein Registrierungsformular mit der Möglichkeit zu erstellen, eine Benutzerrolle zu wählen.Symfony 3 registrieren mit Rollen als CollectionType (FOSUserBundle)

verwendete ich die offizielle Dokumentation dies einzurichten: http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_forms.html

Aber ich habe folgende Fehlermeldung: this screen

Mein RegistrationType ist:

<?php 
 

 
namespace DevLeaguesBundle\Form; 
 

 
use Symfony\Component\Form\AbstractType; 
 
use Symfony\Component\Form\FormBuilderInterface; 
 
use Symfony\Component\Form\Extension\Core\Type\CollectionType; 
 

 
class RegistrationType extends AbstractType 
 
{ 
 
    public function buildForm(FormBuilderInterface $builder, array $options) 
 
    { 
 
\t \t $builder->add('roles', CollectionType::class, array(
 
        'type' => 'choice', 
 
        'options' => array(
 
         'choices' => array(
 
          'ROLE_ADMIN' => 'Admin', 
 
         ) 
 
        ) 
 
\t \t \t )); 
 
    } 
 

 
    public function getParent() 
 
    { 
 
     return 'FOS\UserBundle\Form\Type\RegistrationFormType'; 
 
    } 
 

 
    public function getBlockPrefix() 
 
    { 
 
     return 'devleagues_user_registration'; 
 
    } 
 

 
\t public function getName() 
 
\t { 
 
\t \t return $this->getBlockPrefix(); 
 
\t } 
 
}

Antwort

0

Sie sollte das ChoiceType-Feldverwenden

$builder->add('roles', ChoiceType::class, array(
         'choices' => array(
          'ROLE_ADMIN' => 'Admin', 
        ) 
        ) 
); 
+0

Ich versuchte dies früher, aber es scheint, dass ich etwas falsch irgendwo jetzt haben muss, da bekomme ich einen neuen Fehler: Hinweis: Array String-Konvertierung Thx sowieso –

+0

Sind Sie absolut sicher, dass diese Mitteilung von diesem kommt Linie? –

+0

für jetzt ist dieser Code kommentiert und kein Fehler erscheint überall. Was glaubst du könnte daraus entstehen? –

Verwandte Themen