我是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中有什么变化吗?我做错了什么?