包括不在捆绑中的symfony基础资产

时间:2014-02-26 16:32:06

标签: php symfony

我正在尝试使用Assetic来包含不在捆绑中的基本css和js资产。它们位于MySymfonyApp/app/Resources/public/css/MySymfonyApp/app/Resources/public/js/

我的base.html.twig模板中有以下内容,但我收到404s

{% stylesheets '%kernel.root_dir%/Resources/public/css/*' %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}

   {% javascripts
        '%kernel.root_dir%/Resources/public/js/jQuery.js'
        '%kernel.root_dir%/Resources/public/js/*' %}
        <script src="{{ asset_url }}"></script>
    {% endjavascripts %}

我也尝试了以下相同的结果。

{% stylesheets '../app/Resources/public/css/*' %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}

如何引用不在捆绑中的资产?

1 个答案:

答案 0 :(得分:1)

<强>溶液

app/Resources/public/*中的资产是一种特殊情况。它们很容易管理。

如果您调用控制台命令,这些 all 将被复制(或符号链接)到web/public/*

app/console assets:install web

......或......

app/console assets:install web --symlink

现在可以直接从web - 文件夹中包含资产。

<script src="{{ asset('js/jquery.js') }}"></script>

提示

如果需要从kernel-rootdir的其他目录中获取资源。

您可以这样做:

# app/config/config.yml
assetic:
    assets:
        css_boostrap: 
            inputs:
                -  %kernel.root_dir%/../vendor/twbs/bootstrap/dist/css/bootstrap.min.css
                -  %kernel.root_dir%/../vendor/myself/bootstrap-theme/*.css
        js_jquery:
             inputs:
                 - %kernel.root_dir%/Resources/public/js/jquery.min.js

现在执行控制台命令...

app/console assetic:dump

...并将其包含在您的一个模板中:

{% stylesheets '@css_boostrap' %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}