dKa*_*Kab 0 php template-engine 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
));
}
...
Run Code Online (Sandbox Code Playgroud)
我有一个基本的布局树枝模板:
<!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>
Run Code Online (Sandbox Code Playgroud)
我的帖子模板:
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
所以,你可以看到这是非常基本的代码,这里没有什么复杂的但仍然无法让它工作......当我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;
}
}
Run Code Online (Sandbox Code Playgroud)
任何想法为什么我得到一个空输出没有任何错误?
我没有看到将生成的模板返回到输出的东西......请使用下一个;
echo $twig->render(...);
Run Code Online (Sandbox Code Playgroud)
这会将呈现的HTML结果带到输出.
| 归档时间: |
|
| 查看次数: |
1900 次 |
| 最近记录: |