Так что в моем контроллере я пишу:Почему Twig выводит пустую страницу?
...
public function execute()
{
$dbh = AppHelper::instance()->getConnection();
$manager = new PostManager($dbh);
$posts = $manager->getAllPosts();
$twig = AppHelper::twig();
// var_dump($twig);
//var_dump($posts);
$twig->render("posts.html.twig", array(
'title'=>'Все записи',
//'posts'=>$posts,
'debug' => true
));
}
...
И у меня есть базовый шаблон макета прут:
<!DOCTYPE html>
<html>
<head>
<title>
{% block title %}
{% endblock %} - Алёнин блог
</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
<div>
{% block content %}
Приветствую вас в моём крутейшем блоге!!
{% endblock %}
</div>
</body>
</html>
мои сообщения Шаблон:
{% extends "main.html.twig" %}
{% block title %} {{ title }} {% endblock %}
{% block content %}
{% if posts is not empty %}
<ul>
{% for post in posts %}
<li>
<h2>{{ post.title }}</h2><br />
<div class="post_status">Статус: {{ post.name }}</div>
Опубликовано:
{{ post.create_time }} <br />
{{ post.body }}
</li>
<br /><hr />
{% endfor %}
</ul>
{% else %}
<p>
Публикаций пока нет.
</p>
{% endif %}
{% endblock content %}
Итак, как вы можете видеть это довольно простой код ничего сложного здесь, но все же я не могу заставить его работать ... Когда я var_dump ($ twig), я вижу, что это допустимый экземпляр класса Twig_Environment, поэтому проблема не в нем число рейнольдса Более того, я уверен, что Twig видит мои шаблоны, потому что, если я напишу какую-то тарабарщину вместо существующего имени файла, я получу ошибку «Невозможно найти шаблон» posts.html.twigdfs «Так что проблема лежит где-то в другом месте ...
. у меня есть класс реестра, в котором я храню экземпляр объекта Twig как одноточечного я его экземпляр, как это:
class AppHelper {
...
private static $twig;
...
public static function twig()
{
$templateDir = "protected/views";
$layoutDir = $templateDir . "/layouts";
if (! isset(self::$twig)) {
$loader = new Twig_Loader_Filesystem(array($templateDir, $layoutDir));
self::$twig = new Twig_Environment($loader);
}
return self::$twig;
}
}
Любые идеи, почему я получаю пустой выход без ошибок
Я не вижу чего-то, что возвращает сгенерированный шаблон на выходе ... используйте 'echo $ twig-> render (...)'? – KarelG
@KarelG О, мой милый Иисус, я не знал, что вы должны эхо-ауптут явно! Почему они не говорят это в документации? Спасибо брат! – dKab
@KarelG, вероятно, вы должны опубликовать этот комментарий в качестве ответа, чтобы я мог принять его и отметить ответ на этот вопрос. – dKab