使用指南针/ sass与Symfony 2

时间:2012-07-03 21:31:34

标签: symfony sass compass-sass

我一直在谷歌上搜索答案,但还没找到我正在寻找的答案。

我在使用CodeIgniter几年的Symfony框架的水中浸泡我的脚趾。到目前为止,我喜欢“捆绑”方法,除了我有一些问题让我了解如何处理资产,特别是css文件。

我习惯使用Compass框架,通常会使用编译为一个主样式表的partials来设置目录结构。但是,因为我的Symfony项目被分成了捆绑包,我希望(并且可能应该)保留捆绑包中每个捆绑包的css,并且在主“web”目录中只有类似全局模板的东西。 我的问题是......

如果我在“web”目录中设置了指南针项目,我如何在个别包中添加部分内容?

我想为我创建的每个包创建单独的指南针项目,但是如何将它们全部合并到一个压缩文件中呢?这是我应该使用Assetic的东西吗?这坦率地说是组织矫枉过正吗?

任何发现自己处于类似情况的人都会感激不尽!

2 个答案:

答案 0 :(得分:6)

这看起来像是Assetic及其Sass过滤器的工作。

您可以在主模板目录中列出所有sass文件,assetic将为您进行压缩。

看起来像这样(取自以下链接):

{% stylesheets filters="compass"
    "@AlomMainBundle/Resources/assets/css/main.sass"
    "@AlomMainBundle/Resources/assets/css/header.sass"
    "@AlomMainBundle/Resources/assets/css/footer.sass"
%}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

我在互联网上找到的一个很好的解释是:http://alexandre-salome.fr/blog/Sass-Compass-Assetic-In-Ten-Minutes

答案 1 :(得分:0)

我最终在主app / Resources文件夹中为我的指南针项目创建了一个目录结构。如果我需要它,我已经能够创建“特定于bundle”的目录,然后使用Compass将整个数据库编译成一个主要的css文件(也存储在app / Resources / public中)。 然后,我使用Assetic将该文件“发布”(或不管它做什么),使用将样式表包含在我的基本树枝模板中的常规方法将其存储到我的Web根目录中。