我是Symfony2的新手,我正在关注Symfony FOSUserBundle(FTW!)的YouTube教程教程。
大约在7.40左右,它说要添加一个名为getParent()的方法,在我的情况下
<?php
//src\Monse\UserBundle\UserBundle.php
namespace Monse\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class UserBundle extends Bundle{
public function getParent(){
return 'FOSUserBundle';
}
}
我的layout.html.twig看起来像这样
{# src\Monse\UserBundle\Resources\views\layout.html.twig #}
{% extends '::base.html.twig' %}
{% block body %}
{{block('fos_user_content')}}
{% endblock %}
可悲的是,它不起作用,我不知道我做错了什么。
谢谢你的帮助
答案 0 :(得分:4)
您是否在内核中启用了捆绑包?
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new FOS\UserBundle\FOSUserBundle(),
new Monse\UserBundle\UserBundle(),
);
}
编辑:您可以重命名您的捆绑MonseUserBundle,以便能够将父FOSUserBundle与覆盖它的捆绑包区分开来:
<?php
//src\Monse\UserBundle\MonseUserBundle.php
namespace Monse\UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class MonseUserBundle extends Bundle{
public function getParent(){
return 'FOSUserBundle';
}
}
现在用这个:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new FOS\UserBundle\FOSUserBundle(),
new Monse\UserBundle\MonseUserBundle(),
);
}
答案 1 :(得分:0)
实际上这解决了它(来自原始文档):
{# src\Monse\UserBundle\Resources\views\layout.html.twig #}
{% extends '::base.html.twig' %}
{% block body %}
{% block fos_user_content %}{% endblock %}
{% endblock %}