混凝土5.7(+)风格的自定义程序不适用于自定义主题


Concrete 5.7(+) style customizer not working on custom theme

我正在尽我所能通过开发一个网站来学习混凝土5。因此,我创建了一个空的基本主题,并试图通过样式定制器实现一个变量——只是为了了解它是如何工作的。最重要的是,我得到了主题上的自定义按钮,但点击后,打开的新显示是空的——没有变量,没有设置标题,没有后退按钮。

我希望有人能帮我解决这个问题,没有当地社区可以问,也不认识任何人——所以这一切都取决于你:]

所以,我的代码。

主题名为"carmi",位于应用程序目录中"themes"下的"carmi"文件夹中。有一个包含template.less、styles.xml和index.html的CSS目录。还有一个未使用的printing.less。

css目录中有一个presets目录,其中少了两个文件:"defaults"answers"testPreset"。两者都至少有一个变量。

对于页面模板,我有default、front、full和view,所有这些都使用完全相同的代码(view除外)。

我在一个页面(不是一个页面)上测试代码,尝试了几种页面类型。

默认情况下的代码。php:

<?php
defined('C5_EXECUTE') or die ('you shall not pass');
$bodyClass = ($c->isEditMode() ? 'editMode' : '');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <?php Loader::element('header_required'); ?>
    <link href="<?php echo $view->getStylesheet('template.less');?>"  rel='stylesheet' type='text/css'>
    <?php
    //echo $html->css($view->getStylesheet('less/styles.less'));
    ?>
</head>
<body class="<?php echo $bodyClass; ?>" >
    <?php $this->inc('elements/test.php');?>
    <div class="test-class">test text</div>
    <?php $a = new GlobalArea('Site Header'); $a->display();?>
    <?php $a = new Area('Test'); $a->display($c);?>
    <?php Loader::element('footer_required'); ?>
</body>
</html>

test.php元素只是一些文本来证明一点。

无模板中的代码

@import "presets/defaults.less";
*{
    color: @primary-action-color;
}
.test-class {
    color: @another-color;
}

defaults.less中的代码注意,如果没有3个第一个变量,这也不起作用。

@preset-name: "test";
@preset-icon: concrete-icon(#ffffff, #ff7600, #333333);
@preset-fonts-file: "fonts/defaults.less";
@primary-action-color: #ff7600;
@another-color: #aaaaaa;

styles.xml 中的代码

<?xml version="1.0"?>
<styles version="1.0">
    <set name="test">
        <style name="Primary Action Color" variable="primary-action" type="color" />
    </set>
</styles>

testPreset.less 中的代码

@primary-action-color: #aaaaaa;
@another-color: #ff7600;

解析到页面中的内容越少。我可以看到它与导入的变量一起正常工作。但自定义面板上没有任何内容。

如果你选择花时间阅读这一切,非常感谢。我对此坐了很长时间,非常沮丧:[

我在具体论坛中得到了一些帮助。defaults.less@preset名称似乎必须是"Default"。我还没有得到开发人员的正式回应,但这对我和论坛上提供帮助的人都很有效。