2012-06-14 17 views
11

estoy incluyendo hojas de estilo CSS en mi plantilla de este modo:Ejecutar a través de la ramita al utilizar hojas de estilo {%}% etiqueta en la ramita con Symfony2

{% stylesheets 
    "@SomeBundle/Resources/assets/css/default.css.twig" 
    "@SomeBundle/Resources/assets/css/global.css.twig" 
%} 
    <link rel="stylesheet" href="{{ asset_url }}" /> 
{% endstylesheets %} 

Sin embargo, quiero ejecutar estos archivos CSS a través de la ramita, ¿Es esto posible de alguna manera al usar la etiqueta {% stylesheets %} o esto requiere algún otro enfoque? Ya he intentado habilitar un filtro twig, pero eso no existe.

+4

La etiqueta 'stylesheets' no está relacionada con Twig. Esta etiqueta es aportada por 'AsseticBundle'. ¿Podría aclarar su pregunta? Tengo dificultades para entender lo que trata de lograr :) – Matt

+0

@Matt Bueno, quiero mantener los beneficios que Assetic me da, al ejecutar la hoja de estilos a través de Twig primero. –

+0

@ Xeross si pudieras decir más específicamente _por qué_ quieres hacer esto, puedes ver mejores resultados. –

Respuesta

3

Puede hacerlo si carga el CSS como una hoja de estilo interna. Algo como esto:

{% block stylesheets %} 
    {{ parent() }} 
    {% include 'AcmeBundle:Bundle:mycss.css.twig' %} 
{% endblock %} 

Y a continuación, la plantilla mycss.css.twig contendría:

<style type="text/css"> 
    /* */ 
</style> 
+1

Sí, esto le vino a la mente, sin embargo, pierde la ventaja de tener sus estilos en un archivo en caché por separado. –

1

cosas más comunes que te gustaría hacer mediante el procesamiento de CSS con la ramita debería ser posible con Sass, LESS o similar, que se puede aplicar como filtros Assetic. El primer tutorial que Google lanzó fue este: http://alexandre-salome.fr/blog/Sass-Compass-Assetic-In-Ten-Minutes

Es cierto que eso no parece mucha ayuda si no puede ejecutar Ruby/Node.js/lo que sea en el servidor de producción que está desarrollando, pero debería ser posible crear un filtro Assetic basado en uno de los puertos PHP de Sass/LESS (suponiendo que sean buenos) si ese es el caso.

Cuestiones relacionadas