braunstetter / assets-push-bundle
一种简洁方便的方法,从模板的任何位置扩展您的资产(CSS、JS)。
v0.2.1
2021-12-03 18:01 UTC
Requires
- php: ^8
- rybakit/twig-deferred-extension: ^3.0
- twig/twig: ^3.3
Requires (Dev)
- matthiasnoback/symfony-dependency-injection-test: ^4.2
- nyholm/symfony-bundle-test: ^1.8
- symfony/framework-bundle: ^4.4|^5.0
- symfony/test-pack: ^1.0
- symfony/twig-bundle: ^5.3
- symfony/yaml: ^5.3
README
将模板内部任何位置的资产推送至<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>