我是symfony的新手,我试图覆盖FOSUserBundle模板作为孩子 . 复制到src / Resources / FOSUserBundle / views有效,但希望使用子包进行此操作 .

我创建了ser / UserBundle / UserBundle.php

<?php

namespace UserBundle;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class UserBundle extends Bundle
{
        public function getParent()
    {
        return 'FOSUserBundle';
    }

}

然后,我做了实体:

<?php
// src/UserBundle/Entity/User.php

namespace UserBundle\Entity;

use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }
}

配置parameters.yml,security.yml和routing.yml .

逻辑上工作,我可以/登录/注册等现在我想覆盖layout.html.twig所以我创建src / UserBundle / Resources / views / layout.html.twig

{% extends '::base.html.twig' %}
{% block title %}Demo Application{% endblock %}

{% block body %}
    {% block fos_user_content %}{% endblock %}
    Ala ma kota
{% endblock %}

但是没有呈现:/ profiler说:

Rendering Call Graph

main 4.04ms/100%
└ @FOSUser/Security/login.html.twig 1.78ms/44%
│ └ @FOSUser/layout.html.twig 1.69ms/42%
│   └ @FOSUser/Security/login.html.twig::block(fos_user_content)
│     └ @FOSUser/Security/login_content.html.twig
└ @WebProfiler/Profiler/toolbar_js.html.twig 2.26ms/56%
  └ @WebProfiler/Profiler/base_js.html.twig

我根据https://www.youtube.com/watch?v=ZvLUvOaW_XY&t=512s执行此操作,但此视频是关于symfony 2.0的,我尝试使用Symfony 3.2 . 使用childrening包在Symfony3中有什么变化吗?我做错了什么?