【问题标题】:Symfony FOSUserBundle Override Templates Not WorkingSymfony FOSUserBundle 覆盖模板不起作用
【发布时间】:2017-01-11 11:20:50
【问题描述】:

我对 Symfony FOSUserBundle 覆盖模板有疑问。

我试过了

创建子捆绑包并覆盖模板

this 文档中的方式。

我可以用这种方式覆盖控制器,但仍然不能覆盖模板。我找到了一个关于它的github demo,我们只有 1 个区别。

但我的项目是 FOSUserBundle 控制器返回像 ;

return $this->render('@FOSUser/Security/login.html.twig', $data);

在他的项目 FOSUserBundle Controllers 中返回类似 ;

return $this->render('FOSUserBundle:Security:login.html.twig', $data);

我想问:

-如果我手动更改它,然后如果此捆绑包有更新,它会将其更改回来..

-在为我的项目安装 FOSUserBundle 时,我希望它与他的项目中的一样。我怎样才能实现它?

【问题讨论】:

标签: php symfony fosuserbundle


【解决方案1】:

您无法更改供应商的控制器。如果您想更改 FOSUserBundle 控制器中的任何代码,您也必须重写它。哪个包覆盖 FOSUserBundle,您可以在该包中创建自己的控制器。之后,您可以将其用于您自己的策略。

示例包:https://github.com/mertoksuz/symfony2-rest/tree/master/src/RestApi/UsersBundle

检查这个 UsersBundle。

谢谢。

【讨论】:

  • 我可以覆盖控制器,我可以编写自己的返回码,但我不想要它。因为我认为它仍然过于手动.. 如果您查看 github repo,下载并运行“composer install”供应商文件将像我想要的方式一样下载。有一个参数或其他东西使它与众不同...谢谢您的回答.. 编辑:我下载了您的 symfony-2-ticket-system 存储库并运行 composer install。并查看您的供应商 FOSUserBundle 控制器; return $this->render('FOSUserBundle:Security:login.html.twig', $data);为什么我的控制器不同..?
  • FOSUserBundle 的哪个版本?无论如何,这是你的问题。 github.com/FriendsOfSymfony/FOSUserBundle/commit/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-08
  • 2018-02-01
  • 1970-01-01
相关资源
最近更新 更多