Я новичок в Symfony и Twig. У меня проблема с Twig.
У меня всегда возникала следующая ошибка
Unable to find template "BackendBackofficeBundle::base.html.twig" (looked into: C:\Users\Username\Documents\NetBeansProjects\idno_backoffice\app/Resources/views, C:\Users\Username\Documents\NetBeansProjects\idno_backoffice\vendor\symfony\symfony\src\Symfony\Bridge\Twig/Resources/views/Form) in @BackendBackoffice\consultant\index.html.twig at line 1.
Мой index.html.twig выглядит так
{% extends 'BackendBackofficeBundle::base.html.twig' %}
{% block body %}
<div class = "row">
<div class = "col-md-12">
<div class = "panel panel-default">
<div class = "panel-heading">Search .../<div>
<div class = "panel-body">
<div class = "input-group">
<input type = "text" class = "form-control">
<div class = "input-group-btn">
<button class = "btn btn-default" type = "button">Go!</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class = "row">
<div class = "col-md-12">
<div class = "panel panel-default">
<div class = "panel-heading">Overview</div>
<div class = "panel-body">
<p>No Tickets</p>
</div>
<table class = "table">
<thead>
<tr>
<th>ID</th>
<th>Subject</th>
<th>Customer</th>
<th>Created_at</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
{% endblock %}
Мой base.html.twig выглядит так
<!DOCTYPE html>
<html>
<head>
<meta http-equiv = "Content-Type" content = "text/html; charset = {{ _charset }}"/>
<meta name = "robots" content = "noindex,nofollow"/>
<title>{% block title %}Backoffice{% endblock %}</title>
<link rel = "stylesheet" href = "{{ asset('bundles/backendbackoffice/bootstrap/css/bootstrap.min.css') }}"/>
<link rel = "stylesheet" href = "{{ asset('bundles/backendbackoffice/bootstrap/css/bootstrap-theme.min.css') }}"/>
<link rel = "stylesheet" href = "{{ asset('bundles/backendbackoffice/backoffice/css/main.css') }}"/>
{% block head %}{% endblock %}
</head>
<body role = "document">
<!-- navbar -->
<nav class = "navbar navbar-default">
<div class = "container">
<div class = "navbar-header">
<button type = "button" class = "navbar-toggle collapsed"
data-toggle = "collapse" data-target = "#menu-toggle">
<span class = "sr-only"></span>
<span class = "icon-bar"></span>
<span class = "icon-bar"></span>
<span class = "icon-bar"></span>
</button>
<a class = "navbar-brand" href = "/">Test 1</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class = "collapse navbar-collapse" id = "menu-toggle">
<ul class = "nav navbar-nav">
<li><a href = "#">Overview</a></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
<!-- /navbar -->
<div class='container'>
{% block body %}{% endblock %}
</div>
{% block javascripts %}
<script src = "//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src = "{{ asset('bundles/backendbackoffice/bootstrap/js/bootstrap.min.js') }}" type = "text/javascript"></script>
{% endblock %}
</body>
</html>
Может кто-нибудь мне помочь? Я не знаю, почему мой index.html.twig не может найти мой base.html.twig.
Если вам нужны еще файлы, пожалуйста, сообщите мне.
Версия Symfony? Вероятно, связано с это.
@Rimble: Я удалил на своем index.html.twig пространство имен BackendBackofficeBundle::, и оно работает. Я думал, что должен сказать ему пространству имен Bundle, какой базовый файл я имею в виду
@Cerad: Это была моя проблема. Я использую Symfony 3.4
Рад, что у тебя все получилось. Не стесняйтесь проголосовать за связанный ответ.
@Cerad: Я понял свою первую ошибку с DocumentRoot. Но сейчас, если я введу свой URL /addConsultant, я получу еще одну ошибку Unable to find template "BackendBackofficeBundle:Consultant:add_consultant" (looked into: C:\Users\Username\Documents\NetBeansProjects\idno_backoffice\app/Resources/views, C:\Users\Username\Documents\NetBeansProjects\idno_backoffice\vendor\symfony\symfony\src\Symfony\Bridge\Twig/Resources/views/Form). Он на правильной функции действий
@Cerad: Понял снова. Мой контроллер возвращает return $this->render('BackendBackofficeBundle:Consultant:add_consultant.html.twig', array( // ... ));. Я заменил оператор return пустым массивом, и он работает. Та же ошибка, что и первая ошибка?






Если вы используете symfony 3.4, вы должны включить config / config.yml
framework:
templating:
engines: ['twig']
после этого бега
композитор установить
Вы убедились, что он находится в правильном каталоге, чтобы Twig мог его найти?