0

在我的 symfony 3.2 项目中,我使用的FOSUserBundle是用户注册和身份验证。我想要做的是将自定义主题应用于注册表单。

因此,我制作了app/Resources/views/base.html.twig这是我的应用程序的基本模板:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        {% block stylesheets %}
          <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/bootstrap/css/bootstrap.css')}}" ></link>
          <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/adminlte/adminlte.css')}}" ></link>
          <link rel="stylesheet" type="text/css" href="{{asset('assets/vendor/adminlte/skin-blue.css')}}" ></link>
        {% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />

        {% block javascriptsHeader %}

        {% endblock %}

    </head>
    <body class="{{ classes }}">
      {% block body %}
      {% endblock body %}

      {% block javascriptsFooter %}

      {% endblock javascriptsFooter %}
   </body>
</html>

我也更改Resources/FOSUSerBundle/views/layout.html.twig了以下内容:

{% extends AppBundle::base.html.twig %}

{% body %}
  {% block fos_user_content %}
  {% endblock fos_user_content %}
{% endblock body %}

如上所示: * Symfony2:如何扩展捆绑包? * http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_templates.html

但我收到以下错误:

Unexpected token "punctuation" of value ":" ("end of statement block" expected).

您知道如何使用我的默认模板作为模板注册吗?

4

1 回答 1

1

你有错误的字符串extends。改变

{% extends AppBundle::base.html.twig %}

{% extends '::base.html.twig' %}

它应该可以工作。

注意:使用::base.html意味着模板引擎将base.htmlapp/Resources/views/base.html.twig. 设置AppBundle::base.html.twig错误。如果模板位于捆绑包中(即AppBundle- src/AppBundle),则路径将类似于 @AppBundle/base.html.twig.

于 2017-04-11T14:38:21.163 回答