0

新しい小枝のレイアウトを拡張して、プロジェクトの登録フォームのテンプレートを変更したいと考えています。しかし、それは変わりません。エラーは表示されませんが、フォームの元のビューをまだ取得しています。ドキュメントで見つけたすべてを実行しましたが、それでも変更されません。なぜですか?

1) userBundle を拡張しました。

2) ApplicationSonataUserBundle を作成し、これを行いました:

class ApplicationSonataUserBundle extends Bundle
{
    /**
     * {@inheritdoc}
     */
    public function getParent()
    {
        return 'SonataUserBundle';
    }
}

新しいコントローラーを作成し、古いコントローラーを上書きしました (レンダリングされたレイアウトのみを変更しました):

 <?php
namespace Application\Sonata\UserBundle\Controller;


use Sonata\UserBundle\Controller\RegistrationFOSUser1Controller as BaseController;

class Registration1Controller extends BaseController
{
    public function registerAction()
    {
        $user = $this->container->get('security.context')->getToken()->getUser();

        if ($user instanceof UserInterface) {
            $this->container->get('session')->getFlashBag()->set('sonata_user_error', 'sonata_user_already_authenticated');
            $url = $this->container->get('router')->generate('sonata_user_profile_show');
            return new RedirectResponse($url);
        }
        $form = $this->container->get('sonata.user.registration.form');
        $formHandler = $this->container->get('sonata.user.registration.form.handler');
        $confirmationEnabled = $this->container->getParameter('fos_user.registration.confirmation.enabled');

        $process = $formHandler->process($confirmationEnabled);
        if ($process) {
            $user = $form->getData();

            $authUser = false;
            if ($confirmationEnabled) {
                $this->container->get('session')->set('fos_user_send_confirmation_email/email', $user->getEmail());
                $url = $this->container->get('router')->generate('fos_user_registration_check_email');
            } else {
                $authUser = true;
                $route = $this->container->get('session')->get('sonata_basket_delivery_redirect');

                if (null !== $route) {
                    $this->container->get('session')->remove('sonata_basket_delivery_redirect');
                    $url = $this->container->get('router')->generate($route);
                } else {
                    $url = $this->container->get('session')->get('sonata_user_redirect_url');
                }
            }

            $this->setFlash('fos_user_success', 'registration.flash.user_created');

            $response = new RedirectResponse($url);

            if ($authUser) {
                $this->authenticateUser($user, $response);
            }

            return $response;
        }

        $this->container->get('session')->set('sonata_user_redirect_url', $this->container->get('request')->headers->get('referer'));

        return $this->container->get('templating')->renderResponse('MpShopBundle:Frontend:registration.html.'.$this->getEngine(), array(
            'form' => $form->createView(),
        ));
    }     
}

3) new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),AppKernel に追加しました。

何か見逃しましたか?何が問題になる可能性がありますか?

アップデート :

今、私はこのエラーが発生しています: Compile Error: Namespace declaration statement has to be the very first statement in the script. しかし、私の名前空間は最初のステートメントですよね?

4

0 に答える 0