Rumah > Soal Jawab > teks badan
Saya mahu menyuntik nilai baharu ke dalam gaya dan blok skrip dalam reka letak, tetapi dari blok terbenam.
Sudah tentu, ia menimbulkan ralat 在块之外调用“parent”是禁止的.
.
Adakah terdapat sebarang penyelesaian?
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 %}
(Saya tidak boleh/tidak akan menggunakan scripts
和 styles
内的 list.html.twig
块。它们是数据表模板的一部分,在 list.html.twig
.).
Malangnya saya tidak boleh menggunakan use
kerana fungsi ini tidak menyokong sifat dinamik, hanya rentetan.
Daripada dokumentasi:
Memandangkan pernyataan penggunaan dihuraikan secara bebas daripada konteks yang dihantar kepada templat, rujukan templat tidak boleh menjadi ungkapan.
P粉3333954962023-12-21 11:48:45
Seperti yang dinyatakan dalam ulasan, termasuk/benam tidak boleh menukar blok dalam penyertanya. Walau bagaimanapun, terdapat sambungan yang tersedia yang boleh menyelesaikan masalah anda.
Ini延迟的Twig扩展
boleh didapatidi sini
LanjutanContoh pada github.
Terima kasih kepada Eugene Leonovich kerana membuat sambungan ini