2

ResourcesJavaScript ライブラリなどを含むというディレクトリにバンドルを持っていvendorます。これらのベンダーの一部には画像が含まれています。

次のアセットを使用して css/less/js ファイルをインポートできます。

assetic:
    assets:
        flot:
            inputs:
                - @MyBundle/Resources/vendor/flot/jquery.flot.js
                - @MyBundle/Resources/vendor/flot/jquery.flot.time.js
            filters:
                - ?yui_js

web/ただし、ベンダーに画像が含まれている場合、それらをディレクトリに配置する方法がわかりません。

手動でシンボリックリンクしたくありません。

4

1 に答える 1

3

Assetic のアセット コレクションのような

assetic:
    assets:
        collection_name:
            inputs:
                 - ...
            output: 
                 - desired_filename # relative to assetic.output_path
            filters:
                 - ?lessphp          # scss, optipng, jpegoptim ... whatever
                                     # the ? (question mark) prevents the 
                                     # filter to be applied in dev mode 

画像を含めることもできます。ただし、それらを1つずつ指定する必要があります

assetic:
    assets:

        [...] 

        my_image:
            inputs:
                 - /path/to/image/image.png
            output: 
                 - images/smushed_image.png  
            filters:
                 - optipng    

        my__second_image:
            inputs:
                 - /path/to/image/image2.jpg
            output: 
                 - images/smushed_image2.jpg
            filters:
                 - jpegoptim       

次に、assetic:dump コマンドを使用して、それらを Web フォルダーに書き込み (およびコンパイル/スマッシュ) します。--no-debug オプションは、assetic がすべてのパッケージのすべてのファイルに対してデバッグ ファイルを作成するのを防ぎます。実稼働システムに使用するか、別の方法でデバッグする場合 (素晴らしいソース マップなど)に使用します。

app/console assetic:dump --no-debug

次のようにパッケージを使用します。

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

また

 {% image '@my_image' %}
     <img src="{{ asset_url }}" alt="Example"/>
 {% endimage %}
于 2013-05-22T12:02:13.553 に答える