lessphp无法解析传递的变量错误

时间:2016-09-14 10:25:34

标签: php css joomla less lessphp

我在我的Joomla网站上使用lessphp,我正在构建模板,我想设置一些变量并在较少的文件中使用它们,为此我做了我使用类autoCompileLess但我得到错误

  

无法解析传递变量@font:

这是我的lessphp代码:



    require_once "lessc.inc.php";

    $less = new lessc;

    //$css_print .= $less->compile("body {font-family: @bfont;} .vikqt_box {font-family:@font;}");
    // create a new cache object, and compile
    function autoCompileLess($inputFile, $outputFile) {
      // load the cache
      $cacheFile = $inputFile.".cache";

      if (file_exists($cacheFile)) {
        $cache = unserialize(file_get_contents($cacheFile));
      } else {
        $cache = $inputFile;
      }

      $less = new lessc;

      $less->setVariables(array(
        "font" => $fontname,
        "bfont" => $bfontname
        ));
      $newCache = $less->cachedCompile($cache);

      if (!is_array($cache) || $newCache["updated"] > $cache["updated"]) {
        file_put_contents($cacheFile, serialize($newCache));
        file_put_contents($outputFile, $newCache['compiled']);
      }
    }

    autoCompileLess(JPATH_SITE.DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.$this->template.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.less', JPATH_SITE.DIRECTORY_SEPARATOR.'templates'.DIRECTORY_SEPARATOR.$this->template.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'output.css');


虽然如果我检查output.css文件,我可以看到我的.less文件编译正确,所以我不知道为什么我会收到此错误。 有人可以建议我吗? 谢谢大家!

1 个答案:

答案 0 :(得分:1)

似乎你没有在你的函数中设置vars $ fontname和$ bfontname。