troopers/assetic-injector-bundle

此包已被弃用且不再维护。未建议替代包。

此包允许您定义全局的javascript和样式表。

1.1.3 2017-05-26 08:19 UTC

This package is not auto-updated.

Last update: 2021-12-21 22:33:21 UTC


README

Troopers

License Version Packagist DL SensioLabsInsight Twitter Follow

=============

AsseticInjectorBundle

描述

AsseticInjectorBundle 允许您在项目的任何位置自动包含javascript和样式表。

此包将扫描每个注册的包并搜索 asset_injector.json 文件。从这个文件中,注入器将收集资源并将它们注入到Assetic引擎中。要包含它们,您必须定义一个标签(脚,头,自定义等,实际上是你选择的那个)并将该标签添加到所需的Assetic块中。

安装

使用Composer

在您的composer.json文件中添加此行

"troopers/assetic-injector-bundle": "~1.0"

在AppKernel.php中声明此包

public function registerBundles() {
    $bundles = array(
        [...]
        new Troopers\AsseticInjectorBundle\TroopersAsseticInjectorBundle(),
        [...]

工作原理

.. 声明 assetic_injector.json文件在您的应用程序或包的资源/config文件夹中。

在此文件中,列出所有标签及其对应的要注入的资源

{
    "require_all":
    {
        "javascripts":
        {
            "head": "@MyBundle/Resources/public/js/myscript.js"
        },
        "stylesheets":
        {
            "head": "@MyBundle/Resources/public/css/mystyle.css"
        }
    }
}

.. 包含对应的标签到您的Assetic块中,代码为:injector="tag"

例如

    {% javascripts injector="head"
        '@MyAcmeDemoBundle/Resources/public/jsloremipsumdolorsitamet.js'
     %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

.. 结果

与标签关联的资源通过asset_injector.json被注入。

例如

    {% javascripts injector="head"
        '@MyAcmeDemoBundle/Resources/public/jsloremipsumdolorsitamet.js'
        '@MyBundle/Resources/public/js/myscript.js'
     %}
    <script type="text/javascript" src="{{ asset_url }}"></script>
    {% endjavascripts %}

享受!

不再需要从Assetic注入器预置包中包含javascript或样式表!只需添加标签,就完成了!