0
所以在我控制我寫:爲什麼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「所以問題出在其他地方...
。我有一個登記類,我保持枝條對象的實例作爲一個單身我實例化它是這樣的:
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哦,我親愛的耶穌,我不知道你應該明確地迴應ouptut!他們爲什麼不在文檔中說呢?多謝兄弟! – dKab
@KarelG你應該發表評論作爲答案,所以我可以接受它並標記回答的問題。 – dKab