我想在我的佈局新值中嵌入樣式和腳本塊,但是從嵌入塊注入。 當然它會拋出錯誤Calling "parent" outside a block is forbidden.
。 有什麼解決方法嗎?從嵌入模板擴展父塊
layout.html.twig:
<!DOCTYPE html>
<html>
<head>
{% block style %}
<link rel="stylesheet" href="foo.css">
{% endblock %}
</head>
<body>
{% block content "" %}
{% block scripts %}
<script src="foo.js"></script>
{% endblock %}
</body>
</html>
list.html.twig:
{% extends 'layout.html.twig' %}
{% block content %}
{% embed datatable.html.twig %}
{% block tbody %}
<tr>
<td>my awesome table</td>
</tr>
{% endblock %}
{% endembed %}
{% endblock %}
datatable.html.twig:
<table id="myDatatable">
<tbody>
{% block tbody "" %}
</tbody>
</table>
{% block styles %}
{{ parent() }}
<link rel="stylesheet" href="dataTables.css">
{% endblock %}
{% block scripts %}
{{ parent() }}
<script src="dataTables.js"></script>
{% endblock %}
(我不能/不會使用list.html.twig
內的scripts
和styles
塊。它們是數據表模板的一部分,它不會在list.html.twig
中定義主題)。 可悲的是我不能使用use
,因爲這個功能不支持動態屬性,只有字符串。
由於使用語句獨立地傳遞給模板的上下文的解決,模板引用不能是表達式。
包括/嵌入功能無法改變/改變從它被從 – DarkBee