2013-07-25 6 views
4

Как я могу сделать файлы Assetic LessPhpFilter только с определенным расширением (.less) и игнорировать другие ( .css). Я использую следующий код, чтобы сгенерировать объединенный файл CSSигнорировать .css-файлы в assetic lessphpfilter

 $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 } 
Смежные вопросы