2013-07-25 57 views
4

如何使Assetic LessPhpFilter只處理具有特定擴展名(.less)的文件並忽略其他文件( .css)。我使用下面的代碼來生成合並CSS文件忽略資產lessphpfilter中的.css文件

 $fm = new Assetic\FilterManager(); 
     $fm->set('less', new Assetic\Filter\LessphpFilter()); 

     $factory = new Assetic\Factory\AssetFactory(APP_ROOT.'stylesheets'); 
     $factory->setFilterManager($fm); 

     $asset = $factory->createAsset($stylesheets, array('less'), array('debug' => false)); 
+0

你可以在你的代碼的最後一行包含你的'$ stylesheets'-var的信息嗎? –

+0

$ stylesheets是需要編譯併合併到一個文件中的文件(包括css和更少)的列表 – Gunjan

回答

0

看來最簡單的方法是將css和更少的文件拆分到不同的文件夾中。 使文件夾更清潔,只需加載文件夾中只有較少文件的文件夾。 css文件應該在名爲css或其他的額外文件夾中生成。

我不知道你真的想做什麼,但我想你會從較少的文件生成它後合併這個CSS文件。

生成的文件較少後,您必須創建第二個資產標籤,您可以從較少的文件和現有的文件中包含新的CSS。這兩個自動獲取包含在一起的單個文件。 希望對您的問題有所幫助或提示爲您的問題找到解決方案。

4

嘗試使用

$stylesheets = array('path/to/*.less'); 
$asset = $factory->createAsset($stylesheets, array('less'), array('debug' => false)); 

應該只加載.LESS文件

1

沒有使用LessPhp過濾器,但你可以嘗試類似

$file_details = pathinfo($file); 

,然後使用

if($file_details['extension'] == ".less"){ //continue }