Я недавно начал работать с Symfony2 и создал базовый контроллер:
class HelloController extends Controller
{
/**
* @Route ("hello/{name}");
*/
public function HelloAction($name)
{
$htmlResp = $this->render('hello/hello.html.twig', array('userName'=>$name));
$htmlResp->headers->set('Content-Type', 'text/html');
return $htmlResp;
}
}
и мой файл hello.html — это просто базовый код с включенным bootstrap.css:
.
.
.
{% block stylesheets %}
<!-- Bootstrap core CSS -->
<link href="{{ asset('css/bootstrap.min.css') }}" rel="stylesheet" />
<!-- Custom styles for this template -->
<link href="{{ asset('starter-template.css') }}" rel="stylesheet" />
<!--<script src="../../assets/js/ie-emulation-modes-warning.js"></script> -->
{% endblock %}
.
.
.
{% block body %}
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
.
.
.
<div class="container">
<div class="starter-template">
<h1>Welcome!</h1>
<p class="lead">Hello, my dear friend named : {{ userName }}</p>
</div>
</div><!-- /.container -->
{% endblock %}
.
.
.
(точки вставляются для сокращения неважных фрагментов кода).
В результате ввода «localhost: 8000 / hello / SomeName» отображается простой HTML-сайт (файлы CSS не загружаются вообще).
Буду благодарен за любые советы, как заставить его загружать и отображать хорошо отформатированный сайт с помощью CSS.
Отлично. На вашем месте я бы сделал следующее:
Приготовить основной клен.
Расширьте базовый шаблон в шаблоне, который вы хотите визуализировать (пример)
Код:
{% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block head %}
<!-- some content here -->
{% endblock %}
{% block content %}
<!-- some content here -->
{% endblock %}
Теперь он разделен и последовательн, и все вещи включены в одном месте. Убедитесь, что путь к вашим файлам CSS правильный. Если вы не уверены, просто просмотрите страницу источника и попробуйте щелкнуть ссылку, сгенерированную asset (), и посмотреть, приведет ли вас к файлу.
Определите все блоки в базовом шаблоне, а затем перезапишите их в других шаблонах.
Других решений пока нет …