2012-06-14 24 views
11

tôi bao gồm stylesheets CSS trong template của tôi như vậy:Chạy tập tin CSS thông qua cành khi sử dụng {% stylesheets%} thẻ trong Twig với Symfony2

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

Tuy nhiên tôi muốn chạy các file CSS thông qua cành, là điều này theo bất kỳ cách nào có thể trong khi sử dụng thẻ {% stylesheets %} hoặc thực hiện điều này yêu cầu một số cách tiếp cận khác. Tôi đã thử bật bộ lọc twig nhưng không tồn tại.

+4

Thẻ 'stylesheets' không liên quan đến Twig. Thẻ này được đóng góp bởi 'AsseticBundle'. Bạn có thể làm rõ câu hỏi của bạn, tôi có khó khăn thời gian understanting những gì bạn cố gắng đạt được :) – Matt

+0

@ Matt Vâng tôi muốn giữ những lợi ích mà Assetic mang lại cho tôi, trong khi chạy các stylesheet thông qua Twig đầu tiên. –

+0

@Xeross nếu bạn có thể nói cụ thể hơn _why_ bạn muốn làm điều này, bạn có thể thấy kết quả tốt hơn. –

Trả lời

3

Bạn có thể làm điều đó nếu bạn tải css dưới dạng biểu định kiểu nội bộ. Một cái gì đó như thế này:

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

Và sau đó các mẫu mycss.css.twig sẽ chứa:

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

Có điều này đã đến tâm trí, tuy nhiên bạn bị mất lợi ích của việc có phong cách của bạn trong một tập tin lưu trữ riêng biệt. –

1

điều phổ biến nhất bạn muốn làm bằng cách xử lý CSS với cành nên có thể với Sass, LESS hoặc tương tự, có thể được áp dụng như bộ lọc Assetic. Hướng dẫn đầu tiên mà Google đưa ra là: http://alexandre-salome.fr/blog/Sass-Compass-Assetic-In-Ten-Minutes

Phải thừa nhận rằng, không có nhiều trợ giúp nếu bạn không thể chạy Ruby/Node.js/bất kỳ máy chủ sản xuất nào bạn đang phát triển, nhưng nó nên có thể tạo ra một bộ lọc Assetic dựa trên một trong các cổng PHP của Sass/LESS (giả sử chúng là bất kỳ tốt) nếu đó là trường hợp.

Các vấn đề liên quan