braunstetter/assets-push-bundle

一种简洁方便的方法,从模板的任何位置扩展您的资产(CSS、JS)。

v0.2.1 2021-12-03 18:01 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:49 UTC


README

Scrutinizer Code Quality Build Status Total Downloads License

将模板内部任何位置的资产推送至<head>中。

安装

composer require braunstetter/assets-push-bundle

使用方法

安装后,您可以在每个模板中使用两个标签来注册额外的资源。

{% css '/breadcrumbs.css' %}
{% js '/breadcrumbs.js' %}

之后,您可以使用assets()函数查询资产。

这将返回一个资产数组,例如

[
    'css' => [
        '/breadcrumbs.css',
        '/custom.css',
        '/app.css',
    ],
    
    'js' => [
        '/breadcrumbs.js'
    ],
]

现在您可以在页面顶部使用这些资产

<head>
    <meta charset="UTF-8">
    <title>{% block title %}Welcome!{% endblock %}</title>

    {% block metadata %}{% endblock %}
    
    {% block pushedJs deferred %}
    {% for asset in assets()['js'] %}
        <script src="{{ asset(asset) }}" defer></script>
    {% endfor %}
    {% endblock %}

    {% block pushedCSS deferred %}
    {% for asset in assets()['css'] %}
        <link rel="stylesheet" href="{{ asset(asset) }}">
    {% endfor %}
    {% endblock %}
</head>