2017-04-13 37 views
4

如何通過Symfony 3.2中的Assetic配置資產版本控制?資產緩存通過Assetic參數化網址破壞

在Symfony的2這可能是由在framework:templating配置軟件包版本實現的,但這不再是3

我試着用下面的配置情況:

framework: 
    assets: 
    packages: 
     css: 
     version: '2' 
     version_format: '%%s?version=%%s' 

而在模板中使用此:

{% stylesheets output="css/global.css" "@AppBundle/Resources/assets/scss/frontend.scss" filter="scss" filter="?uglifycss" package="css" %} 
    <link rel="stylesheet" href="{{ asset(asset_url) }}"> 
{% endstylesheets %} 

不幸的是,這並不追加版本參數爲資產URL,儘管什麼Symfony的是爲O關於資產的官方文件suggests

回答

0

我已經成功經過一些進一步的研究來解決這個問題: 一個需要調用資產()函數時,指定包的名稱,如所以:

{% stylesheets output="css/global.css" "@AppBundle/Resources/assets/scss/frontend.scss" filter="scss" filter="?uglifycss" %} 
    <link rel="stylesheet" href="{{ asset(asset_url, 'css') }}"> 
{% endstylesheets %} 

包名稱「CSS'必須在配置被定義:

framework: 
    assets: 
    packages: 
    css: 
     version: '2' 
     version_format: '%%s?version=%%s' 
0

從未使用過「子包」,嘗試不使用:

parameters: 
    app_version: 1.0.0 

framework: 
    assets: 
     version: '%app_version%' 
     version_format: '%%1$s?%%2$s' 
     base_urls: ['%your_assets_urls%']