4

如何使 Assetic LessPhpFilter 仅处理具有特定扩展名 ( .less) 的文件并忽略其他文件 ( .css)。我正在使用下面的代码来生成一个组合的 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));
4

3 回答 3

4

尝试使用

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

它应该只加载 .less 文件

于 2013-08-01T15:01:27.513 回答
1

没有使用 LessPhp 过滤器,但你可以尝试类似

$file_details = pathinfo($file);

然后使用

if($file_details['extension'] == ".less"){ //continue }
于 2013-08-02T16:52:41.643 回答
0

似乎最简单的方法是将css和less文件拆分在单独的文件夹中。使文件夹更干净,您只需加载其中只有较少文件的文件夹。css 文件应在名为 css 或其他名称的额外文件夹中生成。

我不确定你真正想要做什么,但我认为你会在从 less 文件生成它之后合并这个 css 文件。

生成 less 文件后,您必须创建第二个资产标签,在其中包含来自 less 文件和现有文件的新 css。这两个会自动合并到一个包含gets的文件中。希望这有助于或提示为您的问题找到解决方案。

于 2013-08-03T07:30:45.820 回答