我正在单独使用Twig,而非Symfony2框架,用于创建更小的东西来更好地满足我的需求。我的框架的一部分是一个资产管理库,它管理js / css依赖项,并在预处理、合并、最小化和gzip之后,输出适当的和
I think this would work:
base.twig
{% set bodyContent %}
{% block body %}{% endblock body %}
{% endset %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{{ title }}</title>
<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
{{ Assets.headAssets }}
</head>
</body>
{{ bodyContent }}
{{ Assets.bottomAssets }}
<body>
</html>
其他文件可以不修改。
正如您所看到的,块body
在base.twig
模板中首先调用,因此当执行到{{ Assets.headAssets }}
时,所有资产已经被要求。
body-content
作为 twig 变量会导致解析错误,因为-
被视为减法操作。我自作主张修复了这个问题。 - Andri