Panjangkan blok induk daripada templat terbenam
P粉033429162
P粉033429162 2023-12-20 21:08:59
0
1
560

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 scriptsstyles 内的 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粉033429162
P粉033429162

membalas semua(1)
P粉333395496

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

Pada asasnya, nod melambatkan pelaksanaan blok tersebut. Dengan cara ini anda boleh membuat pembolehubah untuk memegang semua pautan javascript dan mengeluarkannya. Ini boleh dilihat dalam

LanjutanContoh pada github.

Terima kasih kepada Eugene Leonovich kerana membuat sambungan ini

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan