Ik genereer mijn bestand met de volgende code:
{% block head_stylesheets %}
{% stylesheets
filter='?uglifycss'
'@MyBundle/Resources/public/less/myfile.less'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="screen"/>
{% endstylesheets %}
{% endblock head_stylesheets %}
Het dumpt een bestand met de naam: c543k540_myfile_1.css
Dit bestand bestaat uit de assetnaam gevolgd door de bestandsnaam: {assetName}_{filename}.css
Hoe kan ik de uitvoer aanpassen door de itemnaam in de uitvoer te behouden?
{% block head_stylesheets %}
{% stylesheets
output="css/mynewfilename.{assetName}.css" // <--- Here
filter='?uglifycss'
'@MyBundle/Resources/public/less/myfile.less'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="screen"/>
{% endstylesheets %}
{% endblock head_stylesheets %}
Update ter verduidelijking
Ik weet dat als ik de naamoptie gebruik, het in prod zal compileren naar myouputname.css
maar wat ik zou willen hebben in debug/dev-omgeving is het volgen van de onderstaande code, zoiets als myfile_myouputname_1.css
{% block head_stylesheets %}
{% stylesheets
name="myouputname" // <--- Here
filter='?uglifycss'
'@MyBundle/Resources/public/less/myfile.less'
%}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="screen"/>
{% endstylesheets %}
{% endblock head_stylesheets %}
Bedankt voor je antwoord.
Antwoord 1, autoriteit 100%
Het wordt niet langer aanbevolen om Assetic te gebruiken om webassets in Symfony-toepassingen te beheren. Gebruik in plaats daarvan Webpack Encore.
https://symfony.com/doc/current/ frontend/assetic/index.html#dumping-asset-files
Pagina-specifiek JavaScript of CSS (meerdere items) wordt hier beschreven:
https://symfony.com/doc/ current/frontend/encore/simple-example.html#multiple-javascript-entries
// webpack.config.js
Encore
// ... general CSS file here...
.addStyleEntry('some_page', './assets/css/assetName.css')
;
Het gebruik van addStyleEntry() wordt ondersteund, maar niet aanbevolen. Een betere optie is om het bovenstaande patroon te volgen: gebruik addEntry() om naar een JavaScript-bestand te verwijzen en vraag vervolgens de benodigde CSS van binnenuit.