Pergunta

Alguém sabe por que eu iria receber esse erro?Eu estou tentando importar o meu arquivo de cabeçalho em um dos meus outros galho de arquivos.

Nota: Ele funciona bem se eu remover o estende link.

Type: Twig_Error_Syntax
Message: A template that extends another one cannot have a body in "assessmentBuilder/FacultyControl.html.twig" at line 2.
File: /var/www/html/dev/portfolio/libraries/Twig/Parser.php
Line: 374

Qualquer ajuda?Li no Galho de documentação, mas parece mal escrito e eu não conseguia entender por que isso está acontecendo.

{% extends "home_page_tabs.html.twig" %}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="shortcut icon" href="../../docs-assets/ico/favicon.png">

    <title>Assessment for Portfolio</title>

    <!-- css imports -->
    <link href="/dev/editButton/css/bootstrap.css" rel="stylesheet">
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
    <link href="/dev/editButton/css/hover.css" rel="stylesheet">
    <link href="/dev/editButton/css/style_assessment.css" rel="stylesheet">

    <!-- js imports -->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    <script src="/dev/editButton/js/script2014.js"></script>
</head>
<body>
    <!-- secondary header that appears underneath the tabs -->
    <div class="page-header fluid-container">
      <div class="col-md-12 text-center">
        <h1>My Classes</h1>
      </div>
    </div>

<div class="footer">
    <div class="container"><p>&copy; ASAP Media Services 2014</p></div>
</div>
</div>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="/dev/editButton/js/bootstrap.js"></script>

</body>
</html>
Foi útil?

Solução

extends não é apenas outra palavra para incluir.Ele faz muito mais a fusão de trabalho, i.e.ele leva um pai de arquivo e substitui seletivamente único blocos com blocos definem a extensão do arquivo (o que contém extends).

Assim, o primeiro passo é definir um modelo de base com alguns blocos.Em seguida, derivado deste modelo de base com extendse substituir os blocos.

Ter um olhar para este exemplo: http://twig.sensiolabs.org/doc/tags/extends.html

A mensagem de erro diz, portanto, que em criança arquivo de modelo é o código fora do block directivas.Você vai encontrar este explicado aqui: recebendo o erro que um modelo que se estende pode não ter corpo

Pelo caminho, um GALHO tem, também, um include directiva.Ele está aqui:

http://twig.sensiolabs.org/doc/tags/include.html

Eu poderia imaginar é mais adequado para o que você está pretendendo (?).Com include, você pode simplesmente "cadeia" de modelos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top