Я использую lessphp на своем веб-сайте Joomla, я создаю шаблон, я хотел бы установить некоторые переменные и использовать их в меньшем файле, для этого я использую класс autoCompileLess, но получаю ошибку
не удалось разобрать переданную в переменной @font:
Это мой код урока:
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 скомпилирован правильно, поэтому я не понимаю, почему я получаю эту ошибку.
Кто-нибудь может мне посоветовать?
Спасибо вам всем!
Кажется, вы не установили переменные $ fontname и $ bfontname в своей функции.
Других решений пока нет …