Question

est-il possible de charger des actifs conditionnels avec Assetic?

Par exemple (PEUSCODE):

load resource1.js
load resource2.js

if condition = true
    load resource3.js
endif

output combined.js

Était-ce utile?

La solution

Non, il n'est pas possible car les fichiers asétiques sont compilés du côté serveur, donc Assique n'a pas accès à la valeur de votre variable au moment de l'exécution.

Une solution pourrait être d'ajouter une deuxième étiquette asticuleuse

// the first assetic tag

{% if condition %}
    // an other assetic tag
{% endif %}

Autres conseils

Je suis tombé sur le même problème.Comme Julesbou déjà mentionné, il est nécessaire d'ajouter plusieurs balises assibles.

Mon scénario de cas particulier consistait à rendre un antécédent différent en fonction de l'environnement : gris clair pour l'environnement Dev et blanc pour le produit > Environnement.

J'ai utilisé deux fichiers CSS: basic.css et débogu.Css

Ceci est ma solution (symfony 2) (dans les balises d'un modèle de brindille pour HTML5:

{# Common CSS stylesheets--------------------------------#}
{% stylesheets
    '@XStitchPublicBundle/Resources/public/css/basic.css'
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{# ----------------------------------------------------- #}
{#
    Conditional CSS stylesheet. Depend on the environment
#}

{% set environment = app.environment %}
{% if environment == 'dev' %}
    {# Condition: Dev environment#}
    {% stylesheets
        '@XStitchPublicBundle/Resources/public/css/debug.css'
    %}
        <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}
{% endif %}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top