【发布时间】:2016-04-24 08:34:28
【问题描述】:
是否可以创建未在 Symfony 框架的基本模板中定义的新块。我试图这样做,但它在运行时不包括那些新定义的块到基本模板中。 我必须将这些代码包含在子模板的单独块中,否则会出现此错误。谢谢。
扩展另一个模板的模板不能有正文 applicationStudentBundle:Default:StudentRequest.html.twig 在第 95 行。
addstudent.html.twig
{% extends 'applicationMainBundle:Default:maintemplate.html.twig' %}
{% block midPanel %}
//block defined in base template
{% endblock %}
{% block stylePanel %}
//block which is not defined in base template
{% endblock %}
maintemplate.html.twig //here mainPanel block is defined but stylePanel block is not defined
<html>
<head>
<!-- Material Design Lite -->
<script type="text/javascript" src="{{ asset('bundles/applicationmain/js/material.js') }}"></script>
<link rel="stylesheet" href="{{ asset('bundles/applicationmain/css/material.css') }}">
<link rel="stylesheet" href="{{ asset('bundles/applicationmain/css/formStyle.css') }}">
<!-- Material Design icon font -->
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<!-- Material Design Lite -->
<script src="https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"></script>
<link rel="stylesheet" href="https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css">
<!-- Material Design icon font -->
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<style>
.demo-layout-transparent {
background: url('http://www.getmdl.io/assets/demos/transparent.jpg') center / cover;
}
.demo-layout-transparent .mdl-layout__header,
.demo-layout-transparent .mdl-layout__drawer-button {
/* This background is dark, so we set text to white. Use 87% black instead if
your background is light. */
color: white;
}
</style>
</head>
<body>
<!-- Uses a transparent header that draws on top of the layout's background -->
<div class="demo-layout-transparent mdl-layout mdl-js-layout">
<div class="mdl-layout__drawer">
<span class="mdl-layout-title">Title</span>
<nav class="mdl-navigation">
<a class="mdl-navigation__link" href="">Link</a>
<a class="mdl-navigation__link" href="">Link</a>
<a class="mdl-navigation__link" href="">Link</a>
<a class="mdl-navigation__link" href="">Link</a>
</nav>
</div>
<main class="mdl-layout__content">
{% block midPanel %}
My cool posts
{% endblock %}
</main>
</div>
</body>
</html>
【问题讨论】:
-
请发布 applicationStudentBundle:Default:StudentRequest.html.twig 模板的第一行以及您在那里扩展的模板。
-
扩展模板工作正常。但问题是我想声明一个未在基本模板中定义的新块,因为如果我没有在子模板中创建一个块,那么它会给出上述错误。所以我只需要知道在子模板中创建新块的方式。这就是为什么我没有发布代码。但如果需要,我也可以发布代码。
-
thanks.But不是这个问题,如果子模板中的代码块之外的代码会发生错误。这就是为什么我想创建新块而不是在块之外有代码的原因。但问题是该块未在基本模板中定义。
-
在这种情况下,您应该发布您的模板,以便我们检查并找到问题。
标签: php templates symfony-2.7