Symfony2 FOSUserBundle Registration Override

I am trying to override the registration form in FOSUserBundle, but I get this error: I followed this guide in the official documentation: Link

Could not load type "uae_user_registration"

My files: services.yml

# src/Uae/UserBundle/Resources/config/services.yml 
services:
    uae_user.registration.form.type:
        class: Uae\UserBundle\Form\Type\RegistrationFormType
        arguments: [%fos_user.model.user.class%]
        tags:
        - { name: form.type, alias: uae_user_registration }

config.yml:

application /Config/config.yml

fos_user:
    db_driver:     orm                         
    firewall_name: main                       
    user_class:    Uae\UserBundle\Entity\User 
    registration:
            form:
                type: uae_user_registration

RegistrationFormType:

<?php
#src/Uae/UserBundle/Form/Type/RegistrationType.php

namespace Uae\UserBundle\Form\Type;

use Symfony\Component\Form\FormBuilderInterface;
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;

class RegistrationFormType extends BaseType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
    parent::buildForm($builder, $options);

    // add your custom field
    $builder->add('nom');
    $builder->add('prenom');
}

public function getName()
{
    return 'uae_user_registration';
}
}
+4
source share
2 answers

I solved my problem: I just imported a new service that I created in the configuration file Application \ Config \ config.yml

imports:
    - { resource: @UaeUserBundle/Resources/config/services.yml }
+9
source

The reason you get the error is because you do not have DependencyInjection for your specific package. The program does not know where to look for your services.yml file.

UaeUserExtension.php Configuration.php DependencyInjection User Bundle.

app/console generate: bundle. , DependencyInjection.

DependencyInjection Uae/UserBundle. DependencyInjection Configuration.php :

<?php

namespace Uae\UserBundle\DependencyInjection;

use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;

class Configuration implements ConfigurationInterface
{
    /**
     * {@inheritDoc}
     */
    public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('uae_user');

        return $treeBuilder;
    }
}

UaeUserExtension.php :

<?php

namespace Uae\UserBundle\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;

class EnergyUserExtension extends Extension
{
    /**
     * {@inheritDoc}
     */
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = new Configuration();
        $config = $this->processConfiguration($configuration, $configs);

        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
        $loader->load('services.yml');
    }
}
+6

All Articles